點選上方藍字關注“公衆号”
基本信号在MATLAB中的表示
Part.1
當初學信号與系統,天書睡過去啊,一到考試心中mmp。理論的枯燥,有了MATLAB就生動形象啦。
本節掌握:
1. 學會用MATLAB表示常用連續信号的方法;
Part.2
連續信号的MATLAB表示
MATLAB提供了大量的生成基本信号的函數,例如指數信号、正餘弦信号。
表示連續時間信号有兩種方法,一是數值法,二是符号法。
數值法是定義某一時間範圍和取樣時間間隔,然後調用該函數計算這些點的函數值,得到兩組數值矢量,可用繪圖語句畫出其波形。
符号法是利用MATLAB的符号運算功能,需定義符号變量和符号函數,運算結果是符号表達的解析式,也可用繪圖語句畫出其波形圖。
指數信号
指數信号在MATLAB中用exp函數表示。
A=1; a=-0.4;
t=0:0.01:10; %定義時間點
ft=A*exp(a*t); %計算這些點的函數值
plot(t,ft); %畫圖指令,用直線段連接配接函數值表示曲線
grid on; %在圖上畫方格
正弦信号
正弦信号在MATLAB中用 sin 函數表示。
調用格式為 ft=A*sin(w*t+phi)
A=1; w=2*pi; phi=pi/6;
t=0:0.01:8; %定義時間點
ft=A*sin(w*t+phi); %計算這些點的函數值
plot(t,ft); %畫圖指令
grid on; %在圖上畫方格
異抽樣信号
抽樣信号Sa(t)=sin(t)/t在MATLAB中用 sinc 函數表示。
t=-3*pi:pi/100:3*pi;
ft=sinc(t/pi);
plot(t,ft);
grid on;
axis([-10,10,-0.5,1.2]); %定義畫圖範圍,橫軸,縱軸
title('抽樣信号') %定義圖的标題名字
三角信号
三角信号在MATLAB中用 tripuls 函數表示。
調用格式為 ft=tripuls(t,width,skew),産生幅度為1,寬度為width,且以0為中心左右各展開width/2大小,斜度為skew的三角波。
width的預設值是1,skew的取值範圍是-1~+1之間。一般最大幅度1出現在t=(width/2)*skew的橫坐标位置。
t=-3:0.01:3;
ft=tripuls(t,4,0.5);
plot(t,ft); grid on;
axis([-3,3,-0.5,1.5]);
複指數信号
調用格式是f=exp((j*w)*t)
t=0:0.01:15;
w=pi/4;
X=exp(j*w*t);
Xr=real(X); %取實部
Xi=imag(X); %取虛部
Xa=abs(X); %取模
Xn=angle(X); %取相位
subplot(2,2,1),plot(t,Xr),axis([0,15,-(max(Xa)+0.5),max(Xa)+0.5]),
title('實部');
subplot(2,2,3),plot(t,Xi),axis([0,15,-(max(Xa)+0.5),max(Xa)+0.5]),
title('虛部');
subplot(2,2,2), plot(t,Xa),axis([0,15,0,max(Xa)+1]),title('模');
subplot(2,2,4),plot(t,Xn),axis([0,15,-(max(Xn)+1),max(Xn)+1]),title('相角');
%subplot(m,n,i) 指令是建立m行n列畫圖視窗,并指定畫圖位置i
矩形脈沖信号
調用格式是f=exp((a+j*b)*t)
機關階躍信号
機關階躍信号u(t)用“t>=0”産生,調用格式為ft=(t>=0)
正弦信号符号算法
syms t %定義符号變量t
y=sin(pi/4*t) %符号函數表達式
ezplot(y,[-16,16]) %符号函數畫圖指令
或者
f=sym('sin(pi/4*t)') %定義符号函數表達式
ezplot(f,[-16,16])
機關階躍信号
MATTLAB符号數學函數Heaviside表示階躍信号,但要畫圖需在工作目錄建立Heaviside的M檔案
function f=Heaviside(t)
f=(t>0);
儲存,檔案名是Heaviside ,調用該函數即可畫圖,例
t=-1:0.01:3;
f=heaviside(t);
plot(t,f)
axis([-1,3,-0.2,1.2])
或者
y=sym('Heaviside(t)');
ezplot(y,[-1,5]);grid on
MATLAB各種版本,關注公衆号回複相應版本即可。
掃碼關注
不迷路