本實驗介紹MATLAB通信工具箱(Communications Tools)的基本使用紧阔。讀者可以通過"help"命令查詢有關(guān)函數(shù)的功能。通過本實驗慌申,可以熟悉基本的畫圖和打印命令,理解腳本編寫和調(diào)用的原理。
第一部分:信號的產(chǎn)生
1. 建立時間向量
因為信號是時間的函數(shù)姨裸,生成信號之前需要先建立一個時間序列。下面定義一個持續(xù)時間為$$1$$秒怨酝,步長為1/1000秒的時間向量着憨。 本實驗指導(dǎo)書將用變量名“delta_t”($\Delta t$)來表示時間向量的步長。此時間向量包含1001個值怪嫌,從0開始到1結(jié)束有送。
t1 = 0:0.001:1; %時間向量
2. 產(chǎn)生信號
用如下命令可產(chǎn)生頻率為10Hz的周期單音信號 s1,
s1 = cos(2*pi*10*t1); %單音信號
多音信號可以用多個正弦信號求和得到,如信號s2包含20盛险,35和50Hz三個信號:
s2 = 10*cos(2*pi*20*t1)+4*cos(2*pi*35*t1)+6*cos(2*pi*50*t1); %多音信號
以后的實驗中瞄摊,讀者將會使用信號的最大的幅度來計算其時域功率勋又。 上面定義的信號s2中的最大幅度為20(將三個余弦信號的最大幅度加起來可得)。如果不容易從公式或者信號圖中確定最大幅度换帜,可以用MATLAB中的“max”命令找到信號的近似最大幅度楔壤。
max_of_s = max(s); %信號s的最大幅度。
命令“plot”惯驼,“title”蹲嚣,“xlabel”和“ylabel”可用于產(chǎn)生有明確標簽的信號圖形。
plot(t1,s1)
title('信號')
xlabel('時間')
ylabel('幅度')
運行腳本“l(fā)ab1.m”
圖1:觀察單音信號 s1 的時域圖形祟牲。

圖2:觀察多音信號s2的時域圖形隙畜。
3.信號繪圖
信號s1和s2頻率較低,下面將定義的時間向量和信號t2, s3, s4更具有代表性说贝。
$$
s_3 = 5\sin(2\pi \times200t)
$$
$$
s_4=10\cos(2\pi\times130t)+5\cos(2\pi\times 335t)+\cos(2\pi\times 400t)
$$
產(chǎn)生上述信號的MATLAB代碼為:
t2 = 0:0.0001:1 %time vector of 10,001 points
s3 = 5*sin(2*pi*200*t2); %single-tone signal
s4 = 10*cos(2*pi*130*t2)+5*cos(2*pi*335*t2)+cos(2*pi*400*t2); %multi-tone signal
如果繪制整個較高頻率信號向量的圖形议惰,則信號特征不易觀察∠缢。可以采用如下兩種方法將圖形大小限制在1000個點以內(nèi)言询。
- 限制繪圖的點數(shù)。這種方法尤其適用于兩個信號向量長度不一致的情形傲宜。
plot(t2(1:1000), s3(1:1000))
- 使用“axis”命令鎖定最小最大值范圍內(nèi)的值运杭,如時間、幅度等函卒。請注意辆憔,鎖定后記得再用一次“axis”命令解除鎖定。
為了比較信號的差異谆趾,通常需要將一個信號疊加在另一個信號之上躁愿。有三個辦法可以處理這種情況:
- 在“plot”命令中使用多對x,y參數(shù)。比如:
plot(t2(1:500, s3(1:500), t2(1:500), s4(1:500)) %plot s4 over s3
- 使用“hold on”和“hold off”命令沪蓬,有時還會結(jié)合“pause”命令彤钟。
plot(t2, s4); %plot signal with larger amplitude first
hold on;
pause(3); %wait 3 seconds
plot(t2, s3, 'g'); %plot in green
hold off;
- 生成一個信號矩陣來畫隨時間變化的多個信號:
plot(t2(1:1000), [s3(1:1000); s4(1:1000)])