數字訊號處理matlab相關基礎例題(5)

2021-09-11 14:52:24 字數 1543 閱讀 4199

tic、toc,利用matlab計時,tic為起始時間,toc為結束時間,最終顯示時間=toc-tic

直接卷積:conv,快速卷積:利用fft,利用時域的卷積等於頻域的乘積

x(n)=0.2n*r19(n)   ,  h(n)=(0.8)n*r15(n)。

%直接卷積與快速卷積所花時間的比較

% x(n)=0.2n*r19(n) , h(n)=(0.8)^n*r15(n)。rx(n)長度為x+1

xn=0.2*(1:20);%生成xn序列,長度為20

hn=0.8.^(1:16);%生成hn序列,長度為16

tic;%利用matlab進行計時,tic表示計時開始,toc表示計時結束,顯示時間=toc-tic

yn=conv(xn,hn);%利用直接卷積計算xn與hn的卷積

toc;%計時結束,輸出直接卷積所花費的時間

l=pow2(nextpow2(16+20-1));%取快速卷積的長度l≥m+n-1,且保證l為2的整次冪

tic;%同理,獲取快速卷積的時間

xk=fft(xn,l);%用fft計算x(n)的離散傅利葉變換,長度為l,不足補零

hk=fft(hn,l);%用fft計算h(n)的離散傅利葉變換

yk=xk.*hk;%依次將xk與hk中元素相乘,則輸出結果為yn的頻域形式

yn=ifft(yk,l);%利用ifft計算yn

toc;%計時結束

subplot(221),stem(xn,'.');ylabel('x(n)');%2行2列的第一順位

title('x(n)序列');

subplot(222),stem(hn,'.');ylabel('h(n)');%2行2列的第二順位

title('h(n)序列');

subplot(212),ny=1;stem(real(yn),'.');ylabel('y(n)');%2行1列的第二順位

title('y(n)序列');

conj:去共軛

%已知xn和yn計算互相關函式rm

xn=[-4 -3 -2 -1 0 1 2 2];

yn=[4 2 -2 -1 0 2 2 -3];

k=length(xn);

xk=fft(xn,2*k);%計算fft,資料長度為2*k

yk=fft(yn,2*k);

rm=real(ifft(conj(xk).*yk));%conj為取共軛

rm=[rm(k+2:2*k) rm(1:k)];

m=(-k+1):(k-1);

stem(m,rm);grid;%就單乙個圖無需排版額情況下可以不加subplot

xlabel('m');ylabel('幅度');

數字訊號處理matlab相關基礎例題(7)

butterworth濾波器,設計方法 1 雙線性變換法 2 衝激響應不變法 buttord函式,輸入引數為歸一化引數,wp,ws,rp,rs,z 輸出為butterworth濾波器的階數以及3db截止頻率,n,wn butter函式,公升成乙個n階的巴特沃斯濾波器,輸入引數為n,wn,為butto...

matlab數字訊號處理常用函式

1 tf b,a 根據微分方程求轉移函式 a,b為分子分母多項式係數或者說微分方程左邊右邊的係數 2 tfestimate txy,f tfestimate x,y,window,noverlap,nfft,fs 根據輸入輸出,估計頻率響應函式 3 lsim sys,u,t 根據輸入u 和響應函式s...

數字訊號處理

1.乙個切比雪夫i型模擬帶阻濾波器用下面的指標設計 通帶截止頻率為 和 阻帶截止頻率為 和 峰值通帶紋波是 最小阻帶衰減為 相應的模擬低通濾波器的頻帶截止頻率和階次是多少?帶阻濾波器的階次是多少?用matlab函式cheblord來驗證濾波器階次結果 寫出程式關鍵步驟 matlab驗證 n 3 fs...