?? q718.m
字號(hào):
%《MATLAB在電子信息課程中的應(yīng)用》第七章例7.18程序q718
% 快速卷積計(jì)算
% 電子工業(yè)出版社出版 陳懷琛 吳大正 高西全合著 2001年10月
clear;close all
xn=input('請(qǐng)輸入x(n)序列:xn= 書(shū)上用 sin(0.4*[1:15])');
hn=input('請(qǐng)輸入h(n)長(zhǎng)度:hn= 書(shū)上用 0.9.^(1:20)');
M=length(xn); N=length(hn);
nx=1:M; nh=1:N;
%循環(huán)卷積等于線性卷積的條件:循環(huán)卷積區(qū)間長(zhǎng)度L>=M+N-1
L=pow2(nextpow2(M+N-1));%取L為大于等于且最接近(N+M-1)的2的正次冪
tic, %快速卷積計(jì)時(shí)開(kāi)始
Xk=fft(xn,L); %L點(diǎn)FFT[x(n)]
Hk=fft(hn,L); %L點(diǎn)FFT[h(n)]
Yk=Xk.*Hk; %頻域相乘得Y(k)
yn=ifft(Yk,L);%L點(diǎn)IFFT得到卷積結(jié)果y(n)
toc %快速卷積計(jì)時(shí)結(jié)束
subplot(2,2,1),stem(nx,xn,'.');
ylabel('x(n)')
subplot(2,2,2),stem(nh,hn,'.');
ylabel('h(n)')
subplot(2,1,2);ny=1:L;
stem(ny,real(yn),'.');ylabel('y(n)')
tic,
yn=conv(xn,hn); %直接調(diào)用函數(shù)conv計(jì)算卷積與快速卷積比較
toc
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -