第一篇:數(shù)字信號(hào)處理實(shí)驗(yàn)5
實(shí)驗(yàn)五 FFT 算法的應(yīng)用
1.進(jìn)一步加深對(duì)離散信號(hào) DFT 的理解。
2.運(yùn)用其 FFT 算法解決實(shí)際問(wèn)題。
1.微機(jī)。
2.Matlab 編程環(huán)境。
1.熟悉 Matlab 的編程環(huán)境和編程語(yǔ)言。
2.學(xué)習(xí)教材 P213-227,P249-263,掌握快速傅里葉變換(FFT)的原理。
1.實(shí)驗(yàn)重點(diǎn)、難點(diǎn)、特點(diǎn)
快速傅里葉變換(FFT)的原理及應(yīng)用。難點(diǎn)在 FFT 的應(yīng)用以及 Matlab 編程中矩陣乘和數(shù)乘的應(yīng)用。
2.實(shí)驗(yàn)原理
一、實(shí)驗(yàn)?zāi)康?/p>
二、實(shí)驗(yàn)儀器設(shè)備
三、實(shí)驗(yàn)學(xué)時(shí) 學(xué)時(shí)
四、預(yù)習(xí)要求
五、實(shí)驗(yàn)特點(diǎn)及實(shí)驗(yàn)原理簡(jiǎn)介
1.已知 2N 點(diǎn)實(shí)數(shù)序列
N=64。理論計(jì)算 X(k)=DFT[x(n)]2N。
六、實(shí)驗(yàn)內(nèi)容及步驟
N=64;n=0:1:N-1;n2=0:1:2*N-1;k=0:1:2*N-1;xn1=cos(2*pi/N*7*2*n)+1/2*cos(2*pi/N*19*2*n);xn2=cos(2*pi/N*7*(2*n+1))+1/2*cos(2*pi/N*19*(2*n+1));wn=xn1+i*xn2;[wk,kk]=dft_my(wn,N);xk1=1/2*(wk+conj(wk(mod(-kk,N)+1)));xk2=1/2*(wk-conj(wk(mod(-kk,N)+1)))/i;XK1=fft(xn1,N);XK2=fft(xn2,N);%subplot(2,2,1);%stem(kk,abs(xk1));grid on;%subplot(2,2,3);%stem(kk,abs(XK1));grid on;%subplot(2,2,2);%stem(kk,abs(xk2));grid on;%subplot(2,2,4);%stem(kk,abs(XK2));grid on;
xk=[xk1+(exp(-1i*pi/N).^kk).*xk2,xk1-(exp(-1i*pi/N).^kk).*xk2];subplot(2,1,1);stem(k,abs(xk),'r');grid on;xlabel('k');ylabel('2*NFFT');title('n點(diǎn)DFT完成2N點(diǎn)FFT');xn=cos(2*pi/N*7*n2)+1/2*cos(2*pi/N*19*n2);xkk=fft(xn,2*N);subplot(2,1,2);stem(k,abs(xkk),'g');grid on;xlabel('k');ylabel('2*NFFT');title('Matlab2N點(diǎn)FFT');
七、問(wèn)題思考
1.兩次編程計(jì)算與理論計(jì)算相比較,結(jié)果一致嗎?說(shuō)明原因。
2.兩次編程計(jì)算在編程方面、運(yùn)算量上的比較。
八、心得體會(huì)
第二篇:數(shù)字信號(hào)處理實(shí)驗(yàn)講稿
邯 鄲 學(xué) 院
講 稿
2010 ~2011 學(xué)年 第 一 學(xué)期
分院(系、部): 信息工程學(xué)院 教 研 室: 電子信息工程 課 程 名 稱: 數(shù)字信號(hào)處理
授 課 班 級(jí): 07級(jí)電子信息工程
主 講 教 師: 王苗苗 職
稱:
助教(研究生)
使 用 教 材: 《數(shù)字信號(hào)處理》
制 作 系 統(tǒng):
Word2003
邯鄲學(xué)院制
實(shí)驗(yàn)一..Matlab仿真軟件介紹
一、實(shí)驗(yàn)?zāi)康?/p>
熟悉Matlab仿真軟件
二、實(shí)驗(yàn)設(shè)備和元器件
含Matlab仿真軟件的計(jì)算機(jī)
三、實(shí)驗(yàn)內(nèi)容和步驟
1、學(xué)習(xí)Matlab仿真軟件的安裝
2、熟悉Matlab仿真軟件的操作環(huán)境
3、直接在Matlab仿真軟件的命令窗口實(shí)現(xiàn)數(shù)值計(jì)算
4、編寫(xiě)M文件
四、實(shí)驗(yàn)報(bào)告要求
按照《Matlab程序設(shè)計(jì)》模板提交實(shí)驗(yàn)報(bào)告
五、預(yù)習(xí)要求
1、熟悉Matlab仿真軟件
2、參閱Matlab及在電子信息類課程中的應(yīng)用(第2版)唐向宏 電子工業(yè)出版社
實(shí)驗(yàn)二 離散信號(hào)和系統(tǒng)分析的Matlab實(shí)現(xiàn)
一、實(shí)驗(yàn)?zāi)康?/p>
1、Matlab實(shí)現(xiàn)離散信號(hào)和系統(tǒng)分析
2、進(jìn)一步熟悉Matlab軟件操作
二、實(shí)驗(yàn)設(shè)備和元器件
含Matlab仿真軟件的計(jì)算機(jī)
三、實(shí)驗(yàn)內(nèi)容和步驟
1、利用Matlab產(chǎn)生離散信號(hào)
2、利用Matlab計(jì)算離散卷積
3、利用Matlab求解離散LTI系統(tǒng)響應(yīng)
4、利用Matlab計(jì)算DTFT
5、利用Matlab實(shí)現(xiàn)部分分式法
6、利用Matlab計(jì)算系統(tǒng)的零極點(diǎn)
7、利用Matlab進(jìn)行簡(jiǎn)單數(shù)字濾波器設(shè)計(jì)
四、實(shí)驗(yàn)報(bào)告要求
按照《Matlab程序設(shè)計(jì)》模板提交實(shí)驗(yàn)報(bào)告
五、預(yù)習(xí)要求
預(yù)習(xí)課本上的相關(guān)內(nèi)容
實(shí)驗(yàn)三 利用Matlab實(shí)現(xiàn)信號(hào)DFT的計(jì)算
一、實(shí)驗(yàn)?zāi)康?/p>
1、Matlab實(shí)現(xiàn)信號(hào)DFT的計(jì)算
2、進(jìn)一步熟悉Matlab軟件操作
二、實(shí)驗(yàn)設(shè)備和元器件
含Matlab仿真軟件的計(jì)算機(jī)
三、實(shí)驗(yàn)內(nèi)容和步驟
1、利用Matlab計(jì)算信號(hào)的DFT
2、利用Matlab實(shí)現(xiàn)由DFT計(jì)算線性卷積
四、實(shí)驗(yàn)報(bào)告要求
按照《Matlab程序設(shè)計(jì)》模板提交實(shí)驗(yàn)報(bào)告
五、預(yù)習(xí)要求
預(yù)習(xí)課本上的相關(guān)內(nèi)容
實(shí)驗(yàn)四 利用Matlab實(shí)現(xiàn)濾波器設(shè)計(jì)
一、實(shí)驗(yàn)?zāi)康?/p>
1、Matlab實(shí)現(xiàn)實(shí)現(xiàn)濾波器設(shè)計(jì)
2、進(jìn)一步熟悉Matlab軟件操作
二、實(shí)驗(yàn)設(shè)備和元器件
含Matlab仿真軟件的計(jì)算機(jī)
三、實(shí)驗(yàn)內(nèi)容和步驟
1、利用Matlab實(shí)現(xiàn)模擬低通濾波器的設(shè)計(jì)
2、利用Matlab實(shí)現(xiàn)模擬域頻率變換
3、利用Matlab實(shí)現(xiàn)脈沖響應(yīng)不變法
4、利用Matlab實(shí)現(xiàn)雙線性變換法
5、利用Matlab實(shí)現(xiàn)數(shù)字濾波器設(shè)計(jì)
四、實(shí)驗(yàn)報(bào)告要求
按照《Matlab程序設(shè)計(jì)》模板提交實(shí)驗(yàn)報(bào)告
五、預(yù)習(xí)要求
預(yù)習(xí)課本上的相關(guān)內(nèi)容
實(shí)驗(yàn)五 利用Matlab實(shí)現(xiàn)FIR濾波器設(shè)計(jì)
一、實(shí)驗(yàn)?zāi)康?/p>
1、Matlab實(shí)現(xiàn)實(shí)現(xiàn)濾波器設(shè)計(jì)
2、進(jìn)一步熟悉Matlab軟件操作
二、實(shí)驗(yàn)設(shè)備和元器件
含Matlab仿真軟件的計(jì)算機(jī)
三、實(shí)驗(yàn)內(nèi)容和步驟
1、利用Matlab實(shí)現(xiàn)窗函數(shù)法
2、利用Matlab實(shí)現(xiàn)頻率取樣法
3、利用Matlab實(shí)現(xiàn)優(yōu)化設(shè)計(jì)
四、實(shí)驗(yàn)報(bào)告要求
按照《Matlab程序設(shè)計(jì)》模板提交實(shí)驗(yàn)報(bào)告
五、預(yù)習(xí)要求
預(yù)習(xí)課本上的相關(guān)內(nèi)容
實(shí)驗(yàn)六..隨機(jī)信號(hào)功率譜估計(jì)的Matlab實(shí)現(xiàn)
一、實(shí)驗(yàn)?zāi)康?/p>
1、Matlab實(shí)現(xiàn)實(shí)現(xiàn)濾波器設(shè)計(jì)
2、進(jìn)一步熟悉Matlab軟件操作
二、實(shí)驗(yàn)設(shè)備和元器件
含Matlab仿真軟件的計(jì)算機(jī)
三、實(shí)驗(yàn)內(nèi)容和步驟
1、利用Matlab實(shí)現(xiàn)隨機(jī)序列
2、利用Matlab計(jì)算相關(guān)函數(shù)的估計(jì)
3、利用Matlab進(jìn)行非參數(shù)功率譜估計(jì)
4、利用Matlab進(jìn)行AR模型功率譜估計(jì)
四、實(shí)驗(yàn)報(bào)告要求
按照《Matlab程序設(shè)計(jì)》模板提交實(shí)驗(yàn)報(bào)告
五、預(yù)習(xí)要求
預(yù)習(xí)課本上的相關(guān)內(nèi)容
實(shí)驗(yàn)七..數(shù)字濾波器結(jié)構(gòu)的Matlab實(shí)現(xiàn)
一、實(shí)驗(yàn)?zāi)康?/p>
1、Matlab實(shí)現(xiàn)實(shí)現(xiàn)濾波器設(shè)計(jì)
2、進(jìn)一步熟悉Matlab軟件操作
二、實(shí)驗(yàn)設(shè)備和元器件
含Matlab仿真軟件的計(jì)算機(jī)
三、實(shí)驗(yàn)內(nèi)容和步驟
1、利用Matlab實(shí)現(xiàn)數(shù)字濾波器直接型設(shè)計(jì)
2、利用Matlab實(shí)現(xiàn)數(shù)字濾波器級(jí)聯(lián)設(shè)計(jì)
3、利用Matlab實(shí)現(xiàn)數(shù)字濾波器并聯(lián)型設(shè)計(jì)
4、利用Matlab實(shí)現(xiàn)數(shù)字濾波器格型設(shè)計(jì)
四、實(shí)驗(yàn)報(bào)告要求
按照《Matlab程序設(shè)計(jì)》模板提交實(shí)驗(yàn)報(bào)告
五、預(yù)習(xí)要求
預(yù)習(xí)課本上的相關(guān)內(nèi)容
實(shí)驗(yàn)八....利用Matlab實(shí)現(xiàn)信號(hào)小波分析
一、實(shí)驗(yàn)?zāi)康?/p>
1、Matlab實(shí)現(xiàn)實(shí)現(xiàn)濾波器設(shè)計(jì)
2、進(jìn)一步熟悉Matlab軟件操作
二、實(shí)驗(yàn)設(shè)備和元器件
含Matlab仿真軟件的計(jì)算機(jī)
三、實(shí)驗(yàn)內(nèi)容和步驟
1、小波測(cè)試信號(hào)
2、分解與重構(gòu)濾波器組
3、離散小波變換
4、離散小波反變換
5、基于小波的信號(hào)去噪
6、基于小波的信號(hào)壓縮
四、實(shí)驗(yàn)報(bào)告要求
按照《Matlab程序設(shè)計(jì)》模板提交實(shí)驗(yàn)報(bào)告
五、預(yù)習(xí)要求
預(yù)習(xí)課本上的相關(guān)內(nèi)容
第三篇:數(shù)字信號(hào)處理實(shí)驗(yàn)二
北京信息科技大學(xué)
數(shù)字信號(hào)處理實(shí)驗(yàn)報(bào)告
題 目:
數(shù)字信號(hào)處理課程設(shè)計(jì)實(shí)驗(yàn)
學(xué) 院: 信息與通信工程學(xué)院 專 業(yè): 通信工程專業(yè) 姓 名: 班 級(jí):
學(xué) 號(hào): 指導(dǎo)老師:
實(shí)驗(yàn)?zāi)康?/p>
1、熟悉IIR數(shù)字濾波器的設(shè)計(jì)原理與方法。
2、掌握數(shù)字濾波器的計(jì)算機(jī)軟件實(shí)現(xiàn)方法。
3、通過(guò)觀察對(duì)實(shí)際心電圖信號(hào)的濾波作用,學(xué)習(xí)數(shù)字濾波器在實(shí)際中的應(yīng)用。
實(shí)驗(yàn)儀器及材料
計(jì)算機(jī),MATLAB軟件
實(shí)驗(yàn)內(nèi)容及要求
1.設(shè)計(jì)巴特沃斯低通數(shù)字濾波器對(duì)人體心電信號(hào)進(jìn)行濾波
(1)人體心電圖信號(hào)在測(cè)量過(guò)程中會(huì)受到工業(yè)高頻干擾,所以必須經(jīng)過(guò)低通濾波處理,才能作為判斷心臟功能的有用信息。以下為一個(gè)實(shí)際心電圖信號(hào)采樣序列x(n),其中存在高頻干擾,抽樣周期Ts=1秒。在實(shí)驗(yàn)中,以x(n)作為輸入序列,濾除其中干擾成分。
x(n)=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0] 對(duì)序列x(n)用FFT做頻譜分析,生成x(n)的頻譜圖。
(2)設(shè)計(jì)一個(gè)巴特沃斯低通IIR數(shù)字濾波器H(z)。
設(shè)計(jì)指標(biāo)參數(shù)為:在通帶內(nèi)頻率低于0.2π時(shí),最大衰減小于1dB; 在阻帶內(nèi) [0.3π, π]頻率區(qū)間上,最小衰減大于15dB。
j?|H(e)|。寫(xiě)出數(shù)字濾波器H(z)的表達(dá)式,畫(huà)出濾波器的幅頻響應(yīng)曲線
(3)用所設(shè)計(jì)的濾波器對(duì)實(shí)際心電圖信號(hào)采樣序列x(n)進(jìn)行濾波處理,編寫(xiě)程序,求濾波后的序列y(n),并分別畫(huà)出濾波前后的心電圖信號(hào)波形圖和頻譜圖。
y(n)= [0,0,0,0, 0,0,0,0,-0.14025,0.40279,-0.56085 ,0.33328,0.023981,-0.18809,0.11843,-0.1038,0.11576,-0.1225,0.099815 ,-0.13769 ,0.095249,-0.0070273,0.018867,0.090543,-0.11257,-0.070884 ,0.17676,-0.55407,0.24813,-0.34732,-0.30428,0.59426,-0.29574,-0.063869,0.34018,-0.73334,1.0293,-0.57107,-0.2461,0.83605,-0.83026,0.45459,0.011551,-0.25667,0.23896,-0.17361,0.20829,-0.28417,0.28765 ,-0.2035,0.02865,0.066164,0.077916,-0.36052, 0.53517,-0.5571]
源程序
clear all,clc
x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0];%未經(jīng)濾波的心電圖信號(hào) L=length(x);l=0:L-1;
y=fft(x,L);Wp=0.2*pi;Ws=0.3*pi;Rp=1;Rs=15;
[N,Wn] = buttord(Wp,Ws,Rp,Rs,'s');[b,a] = butter(N,Wn,'s');[numa,dena]=impinvar(b,a,1);w=linspace(0,pi,1024);h=freqz(numa,dena,w);norm=max(abs(h));numa=numa/norm;[z,p]=tf2zp(b,a);figure(1)
plot(w,20*log10(abs(h)/norm));grid;
xlabel('數(shù)字頻率');ylabel('幅度響應(yīng)dB');figure(2)plot(w,abs(h));grid;
xlabel('數(shù)字頻率');
ylabel('幅度響應(yīng)|H(e^(jw))|');figure(3)zplane(z,p);xx=filter(b,a,x);yy=fft(xx,L);figure(4)subplot(2,1,1)stem(l,x);
title('未經(jīng)濾波的心電圖信號(hào)');xlabel('n');subplot(2,1,2)stem(l,xx);
title('經(jīng)濾波之后的心電圖信號(hào)');xlabel('n');figure(5)subplot(2,1,1)plot(l,abs(y));
title('未經(jīng)濾波的心電圖信號(hào)的頻譜');subplot(2,1,2)plot(l,abs(yy));
title('經(jīng)濾波處理的心電圖信號(hào)的頻譜');
2.用help查看內(nèi)部函數(shù)cheb1ord.m及cheby1.m,了解調(diào)用格式。
編程設(shè)計(jì)教材習(xí)題6-2,求模擬濾波器Ha(s)的表達(dá)式。
源程序
close all clear all clc
Wp=2*pi*3000;Rp=2;Ws=2*pi*12000;Rs=50;Fs=24000;
w=linspace(0,pi,1024);
[N,Wn]=cheb1ord(Wp,Ws,Rp,Rs,'s');e=sqrt(10^(Rp/10)-1);[b,a]=cheby1(N,e,Wn,'s')[numa,dena]=impinvar(b,a,Fs);h=freqz(numa,dena,w);norm=max(abs(h));
plot(w*Fs/pi,20*log10(abs(h)/norm))title('幅度響應(yīng)')xlabel('頻率(Hz)')ylabel('幅度(dB)')grid
3.模擬濾波器的數(shù)字化
用內(nèi)部函數(shù)impinvar及bilinear實(shí)現(xiàn)教材習(xí)題6-5,求數(shù)字濾波器H(z)的表達(dá)式。
源程序
close all clear all clc b1=[0 0 1];a1=[1 1 1];b2=[0 0 1];a2=[2 3 1];
[numa1,dena1]=impinvar(b1,a1,0.5)[numa2,dena2]=bilinear(b1,a1,0.5)[numa3,dena3]=impinvar(b2,a2,0.5)
[numa4,dena4]=bilinear(b2,a2,0.5)
本實(shí)驗(yàn)所用的部分MATLAB函數(shù)
? L=length(x):求序列x長(zhǎng)度。
? y=fft(x,L):將序列x(n)做L點(diǎn)快速傅立葉變換,結(jié)果賦給序列y(n)。? [n,Wn] = buttord(Wp,Ws,Rp,Rs,'s'):計(jì)算模擬Butterworth濾波器的最小階次n和截止頻率為Wn。
? [b,a] = butter(n,Wn,'s'):設(shè)計(jì)模擬截止頻率為Wn(rad/s)的n階 Butterworth低通濾波器,返回值為模擬濾波器的系數(shù)。
? y=filter(b,a,x): 將序列x(n)通過(guò)濾波器濾波后生成序列y(n),濾波器的分母多項(xiàng)式系數(shù)構(gòu)成a向量,分子多項(xiàng)式系數(shù)構(gòu)成b向量。
? [BZ,AZ] = impinvar(B,A,Fs):沖激響應(yīng)不變法,返回值為數(shù)字濾波器的系數(shù)。? [BZ,AZ] = bilinear(B,A,fs):雙線性變換,返回值為數(shù)字濾波器的系數(shù)。? [H w]=freqz(b,a):由濾波器分母多項(xiàng)式系數(shù)構(gòu)成的a向量和分子多項(xiàng)式系數(shù)構(gòu)成的b向量求系統(tǒng)頻響。
截圖
實(shí)驗(yàn)體會(huì)
這次的實(shí)驗(yàn)讓這讓我看到了理論與實(shí)踐相結(jié)合的優(yōu)勢(shì)與用處,讓我受益匪淺。我認(rèn)識(shí)到了自己理論知識(shí)的不足,也認(rèn)識(shí)到了我們學(xué)習(xí)的基礎(chǔ)知識(shí)究竟能運(yùn)用于什么領(lǐng)域,如何運(yùn)用。我們?cè)诶蠋煹哪托闹笇?dǎo)下調(diào)試電路,直到得到要求的效果。讓我們?cè)趯W(xué)習(xí)電路、信號(hào)等理論知識(shí)的同時(shí),明白如何把這些應(yīng)用于實(shí)際。
第四篇:數(shù)字信號(hào)處理實(shí)驗(yàn)
實(shí)驗(yàn)一 自適應(yīng)濾波器
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握功率譜估計(jì)方法
2、會(huì)用matlab對(duì)功率譜進(jìn)行仿真
二、實(shí)驗(yàn)原理
功率譜估計(jì)方法有很多種,一般分成兩大類,一類是經(jīng)典譜估計(jì);另一類是現(xiàn)代譜估計(jì)。經(jīng)典譜估計(jì)可以分成兩種,一種是BT法,另一種是周期法;BT法是先估計(jì)自相關(guān)函數(shù),然后將相關(guān)函數(shù)進(jìn)行傅里葉變換得到功率譜函數(shù)。相應(yīng)公式如下所示:
1?xx(m)?rN??PBTm???N?|m|?1?n?0x*(n)x(n?m)(1?1)??
(1?2)?xx(m)e?jwnr周期圖法是采用功率譜的另一種定義,但與BT法是等價(jià)的,相應(yīng)的功率譜估計(jì)如下所示:
1jw?
Pxx(e)?N其計(jì)算框圖如下所示:
觀測(cè)數(shù)據(jù)x(n)FFT?jwnx(n)e?n?0N?120?n?N?1(1?3)
取模的平方1/N Pxx(ejw)?
圖1.1周期圖法計(jì)算用功率譜框圖 由于觀測(cè)數(shù)據(jù)有限,所以周期圖法估計(jì)分辨率低,估計(jì)誤差大。針對(duì)經(jīng)典譜估計(jì)的缺點(diǎn),一般有三種改進(jìn)方法:平均周期圖法、窗函數(shù)法和修正的周期圖平均法。
三、實(shí)驗(yàn)要求
信號(hào)是正弦波加正態(tài)零均值白噪聲,信噪比為10dB,信號(hào)頻率為2kHZ,取樣頻率為100kHZ。
四、實(shí)驗(yàn)程序與實(shí)驗(yàn)結(jié)果(1)用周期圖法進(jìn)行譜估計(jì) A、實(shí)驗(yàn)程序: %用周期法進(jìn)行譜估計(jì) clear all;N1=128;%數(shù)據(jù)長(zhǎng)度 N2=256;N3=512;N4=1024;f=2;%正弦波頻率,單位為kHZ fs=100;%抽樣頻率,單位為kHZ n1=0:N1-1;n2=0:N2-1;n3=0:N3-1;n4=0:N4-1;a=sqrt(20);%由信噪比為10dB計(jì)算正弦信號(hào)的幅度 wn1=randn(1,N1);xn1=a*sin(2*pi*f*n1./fs)+wn1;Pxx1=10*log10(abs(fft(xn1).^2)/N1);%周期法求功率譜 f1=((0:length(Pxx1)-1))/length(Pxx1);wn2=randn(1,N2);xn2=a*sin(2*pi*f*n2./fs)+wn2;Pxx2=10*log10(abs(fft(xn2).^2)/N2);f2=((0:length(Pxx2)-1))/length(Pxx2);wn3=randn(1,N3);xn3=a*sin(2*pi*f*n3./fs)+wn3;Pxx3=10*log10(abs(fft(xn3).^2)/N3);f3=((0:length(Pxx3)-1))/length(Pxx3);wn4=randn(1,N4);xn4=a*sin(2*pi*f*n4./fs)+wn4;Pxx4=10*log10(abs(fft(xn4).^2)/N4);f4=((0:length(Pxx4)-1))/length(Pxx4);subplot(2,2,1);plot(f1,Pxx1);xlabel('頻率');ylabel('功率(dB)');title('功率譜Pxx,N=128');subplot(2,2,2);plot(f2,Pxx2);xlabel('頻率');ylabel('功率(dB)');title('功率譜Pxx,N=256');subplot(2,2,3);plot(f3,Pxx3);xlabel('頻率');ylabel('功率(dB)');title('功率譜Pxx,N=512');subplot(2,2,4);plot(f4,Pxx4);xlabel('頻率');ylabel('功率(dB)');title('功率譜Pxx,N=1024');B、實(shí)驗(yàn)仿真結(jié)果:
(2)采用漢明窗,分段長(zhǎng)度L=32,用修正的周期圖求平均法進(jìn)行譜估計(jì) A:實(shí)驗(yàn)程序: clear all;N=512;%數(shù)據(jù)長(zhǎng)度 Ns=32;%分段長(zhǎng)度
f1=2;%正弦波頻率,單位為kHZ fs=100;%抽樣頻率,單位為kHZ n=0:N-1;a=sqrt(20);%由信噪比為10dB計(jì)算正弦信號(hào)的幅度 wn=randn(1,N);xn=a*sin(2*pi*f1*n./fs)+wn;w=hamming(32)';%漢明窗
Pxx1=abs(fft(w.*xn(1:32),Ns).^2)/norm(w)^2;Pxx2=abs(fft(w.*xn(33:64),Ns).^2)/norm(w)^2;Pxx3=abs(fft(w.*xn(65:96),Ns).^2)/norm(w)^2;Pxx4=abs(fft(w.*xn(97:128),Ns).^2)/norm(w)^2;Pxx5=abs(fft(w.*xn(129:160),Ns).^2)/norm(w)^2;Pxx6=abs(fft(w.*xn(161:192),Ns).^2)/norm(w)^2;Pxx7=abs(fft(w.*xn(193:224),Ns).^2)/norm(w)^2;Pxx8=abs(fft(w.*xn(225:256),Ns).^2)/norm(w)^2;Pxx9=abs(fft(w.*xn(257:288),Ns).^2)/norm(w)^2;Pxx10=abs(fft(w.*xn(289:320),Ns).^2)/norm(w)^2;Pxx11=abs(fft(w.*xn(321:352),Ns).^2)/norm(w)^2;Pxx12=abs(fft(w.*xn(353:384),Ns).^2)/norm(w)^2;Pxx13=abs(fft(w.*xn(385:416),Ns).^2)/norm(w)^2;Pxx14=abs(fft(w.*xn(417:448),Ns).^2)/norm(w)^2;Pxx15=abs(fft(w.*xn(449:480),Ns).^2)/norm(w)^2;Pxx16=abs(fft(w.*xn(481:512),Ns).^2)/norm(w)^2;Pxx=10*log10((Pxx1+Pxx2+Pxx3+Pxx4+Pxx5+Pxx6+Pxx7+Pxx8+Pxx9+Pxx10+Pxx11+Pxx12+Pxx13+Pxx14+Pxx15+Pxx16)/16);f=((0:length(Pxx)-1))/length(Pxx);plot(f,Pxx);xlabel('頻率');ylabel('功率(dB)');title('加窗平均周期圖法功率譜Pxx,N=512');grid on;B:實(shí)驗(yàn)仿真結(jié)果:
五.參考文獻(xiàn):
[1] 丁玉美,闊永紅,高新波.數(shù)字信號(hào)處理-時(shí)域離散隨機(jī)信號(hào)處理[M].西安:西安電子科技大學(xué)出版社,2002.[2] 萬(wàn)建偉,王玲.信號(hào)處理仿真技術(shù)[M].長(zhǎng)沙:國(guó)防科技大學(xué)出版社,2008.實(shí)驗(yàn)二
卡爾曼濾波器的設(shè)計(jì)
一.實(shí)驗(yàn)?zāi)康?/p>
1.熟悉并掌握卡爾曼濾波、自適應(yīng)濾波和譜估計(jì)的原理。
2.可以仿真符合要求的卡爾曼濾波器、自適應(yīng)濾波器和各種譜估計(jì)方法。
3.掌握卡爾曼濾波器的遞推公式和仿真方法。4.熟悉matlab的用法。二.實(shí)驗(yàn)原理
卡爾曼濾波是用狀態(tài)空間法描述系統(tǒng)的,由狀態(tài)方程和測(cè)量方程所組成??柭鼮V波用前一個(gè)狀態(tài)的估計(jì)值和最近一個(gè)觀測(cè)數(shù)據(jù)來(lái)估計(jì)狀態(tài)變量的當(dāng)前值,并以狀態(tài)變量的估計(jì)值的形式給出。其狀態(tài)方程和量測(cè)方程如下所示:
xk?1?Akxk?wkyk?Ckxk?vk(1?1)
(1?2)其中,k表示時(shí)間,輸入信號(hào)wk是一白噪聲,輸出信號(hào)的觀測(cè)噪聲vk也是一個(gè)白噪聲,輸入信號(hào)到狀態(tài)變量的支路增益等于1,即B=1;A表示狀態(tài)變量之間的增益矩陣,可隨時(shí)間變化,Ak表示第k次迭代的取值,C表示狀態(tài)變量與輸出信號(hào)之間的增益矩陣,可隨時(shí)間變化,其信號(hào)模型如圖1.1所示(k用k?1代替)。
vkCk+ykWk-1+XkZ-1Xk-1Ak-1
圖1.1 卡爾曼濾波器的信號(hào)模型
卡爾曼濾波是采用遞推的算法實(shí)現(xiàn)的,其基本思想是先不考慮輸入信號(hào)wk和觀測(cè)噪聲vk的影響,得到狀態(tài)變量和輸出信號(hào)的估計(jì)值,再用輸出信號(hào)的估計(jì)誤差加權(quán)矯正狀態(tài)變量的估計(jì)值,使?fàn)顟B(tài)變量估計(jì)誤差的均方值最小。其遞推公式如下所示:
?x?k?e?0.02x?k?1?Hk(yk?e?0.02xk?1)??1??H?P(P?1)?kkk?
?Pk??e?0.04Pk?1?1?e?0.04??Pk?(I?Hk)Pk??(1?12a)(1?12b)(1?12c)(1?12d)假設(shè)初始條件Ak,Ck,Qk,Rk,yk,xk?1,Pk?1已知,其中x0?E[x0],P0?var[x0],那么遞推流程見(jiàn)圖1.2所示。
Pk?1式(1-5)?Pk'式(1-4)Hk式(1-3)式(1-6)
圖1.2 卡爾曼濾波遞推流程圖
三.實(shí)驗(yàn)要求
一連續(xù)平穩(wěn)的隨機(jī)信號(hào)x(t),自相關(guān)rx(?)?e
??xkPk?,信號(hào)x(t)為加性噪聲所干擾,噪聲是白噪聲,測(cè)量值的離散值y(k)為已知。Matlab仿真程序如下:
%編卡爾曼濾波遞推程序,估計(jì)信號(hào)x(t)的波形 clear all;clc;Ak=exp(-0.02);%各系數(shù)由前面確定; Ck=1;Rk=0.1;p(1)=20;%各初值; Qk=1-exp(-0.04);
p1(1)=Ak*p(1)*Ak'+Qk;%由p1代表p'; x(1)=0;%設(shè)信號(hào)初值為0;
H(1)=p1(1)*Ck'*inv(Ck*p1(1)*Ck'+Rk);
zk=[-3.2,-0.8,-14,-16,-17,-18,-3.3,-2.4,-18,-0.3,-0.4,-0.8,-19,-2.0,-1.2,-11,-14,-0.9,0.8,10,0.2,0.5,-0.5,2.4,-0.5,0.5,-13,0.5,10,-12,0.5,-0.6,-15,-0.7,15,0.5,-0.7,-2.0,-19,-17,-11,-14] %zk為測(cè)量出來(lái)的離散值; N=length(zk);%要測(cè)量的點(diǎn)數(shù); for k=2:N
p1(k)=Ak*p(k-1)*Ak'+Qk;%未考慮噪聲時(shí)的均方誤差陣; H(k)=p1(k)*Ck'*inv(Ck*p1(k)*Ck'+Rk);%增益方程; I=eye(size(H(k)));%產(chǎn)生和H(k)維數(shù)相同的單位矩陣; p(k)=(I-H(k)*Ck)*p1(k);%濾波的均方誤差陣;
x(k)=Ak*x(k-1)+H(k)*(zk(k)-Ck*Ak*x(k-1));%遞推公式; end, x %顯示信號(hào)x(k)的數(shù)據(jù); m=1:N;n=m*0.02;
plot(n,zk,'-r*',n,x,'-bo');%便于比較zk和x(k)在同一窗口輸出; xlabel('t/s','Fontsize',16);ylabel('z(t),x(t)','fontsize',16);
title('卡爾曼濾波遞推——x(t)的估計(jì)波形與z(t)波形','fontsize',16)legend('觀測(cè)數(shù)據(jù)z(t)','信號(hào)估計(jì)值x(t)',2);grid;四.實(shí)驗(yàn)結(jié)果
五.實(shí)驗(yàn)小結(jié)
通過(guò)卡爾曼濾波估計(jì)信號(hào)與觀測(cè)信號(hào)比較知,卡爾曼濾波輸出的估計(jì)信號(hào)x(t)與實(shí)際觀測(cè)到的離散值z(mì)(t)還是存在一定的誤差,卡爾曼濾波是從初始狀態(tài) 就采用遞推方法進(jìn)行濾波,那么在初值迭代后的一段時(shí)間內(nèi)可能會(huì)出現(xiàn)較大的誤差,隨著迭代進(jìn)行,各參數(shù)逐漸趨于穩(wěn)定,后面的估計(jì)值與觀察值的誤差就減少了。
六.參考文獻(xiàn)
[1] 丁玉美,闊永紅,高新波.數(shù)字信號(hào)處理-時(shí)域離散隨機(jī)信號(hào)處理[M].西安:西安電子科技大學(xué)出版社,2002.[2] 萬(wàn)建偉,王玲.信號(hào)處理仿真技術(shù)[M].長(zhǎng)沙:國(guó)防科技大學(xué)出版社,2008.
第五篇:數(shù)字信號(hào)處理實(shí)驗(yàn)教案
數(shù)字信號(hào)處理實(shí)驗(yàn)教案
信息工程學(xué)院-通信工程教研室
數(shù)字信號(hào)處理是一門(mén)理論和實(shí)際密切結(jié)合的課程,為深入掌握課程內(nèi)容,最好在學(xué)習(xí)理論的同時(shí),做習(xí)題和上機(jī)實(shí)驗(yàn)。上機(jī)實(shí)驗(yàn)不僅可以幫助讀者深入的理解和消化基本理論,而且能鍛煉同學(xué)們的獨(dú)立解決問(wèn)題的能力。本講義在第三版的基礎(chǔ)上編寫(xiě)了五個(gè)實(shí)驗(yàn),前2個(gè)實(shí)驗(yàn)屬基礎(chǔ)性的驗(yàn)證性實(shí)驗(yàn),第3、4、5個(gè)實(shí)驗(yàn)屬基本應(yīng)用綜合性實(shí)驗(yàn)。
實(shí)驗(yàn)一
離散時(shí)間信號(hào)的MATLAB實(shí)現(xiàn)
實(shí)驗(yàn)二
線性卷積與循環(huán)卷積的原理及應(yīng)用
實(shí)驗(yàn)三
頻率采樣定理
實(shí)驗(yàn)四
離散系統(tǒng)的因果性和穩(wěn)定性及頻率響應(yīng)特性
實(shí)驗(yàn)五
基于MATLAB的快速傅里葉變換
根據(jù)教學(xué)進(jìn)度,理論課結(jié)束后進(jìn)行相關(guān)實(shí)驗(yàn)。
實(shí)驗(yàn)一
時(shí)域離散信號(hào)的產(chǎn)生
一
實(shí)驗(yàn)?zāi)康?/p>
(1)了解常用的時(shí)域離散信號(hào)及其特點(diǎn)。
(2)掌握MATLAB產(chǎn)生常用時(shí)域離散信號(hào)的方法。二 實(shí)驗(yàn)內(nèi)容
(1)編寫(xiě)程序,產(chǎn)生下列離散序列:
A.f(n)=δ(n)
(-3 B.f(n)=e(0.1+j1.6π)n (0 (2)一個(gè)連續(xù)的周期性三角波信號(hào)頻率為50Hz,信號(hào)幅度在0~+2V之間,在窗口上顯示2個(gè)周期信號(hào)波形,對(duì)信號(hào)的一個(gè)周期進(jìn)行16點(diǎn)采樣來(lái)獲取離散信號(hào)。試顯示原連續(xù)信號(hào)和采樣獲得的離散信號(hào)波形。 (3)一個(gè)連續(xù)的周期性方波信號(hào)頻率為200Hz,信號(hào)幅度在-1~+1V之間,在窗口上顯示2個(gè)周期信號(hào)波形,用Fs=4kHz的頻率對(duì)連續(xù)信號(hào)進(jìn)行采樣,試顯示原連續(xù)信號(hào)和采樣獲得的離散信號(hào)波形。三 實(shí)驗(yàn)步驟 (1)在matlab命令窗口中逐行輸入下列語(yǔ)句 >> n1=-3;n2=4;n0=0;%在起點(diǎn)n1、終點(diǎn)n2的范圍內(nèi),于n0處產(chǎn)生沖激 >> n=n1:n2; %生成離散信號(hào)的時(shí)間序列 >> x=[n==n0]; %生成離散信號(hào)x(n)>> stem(n,x,'filled');%繪制桿狀圖,且圓心處用實(shí)心圓表示 >> title('單位脈沖序列');>> xlabel('時(shí)間(n)');ylabel('幅度x(n)'); 在上述語(yǔ)句輸入完成之后,敲擊回車(chē)鍵,彈出圖形窗口,顯示出如下圖形,即已經(jīng)滿足題干所述條件,產(chǎn)生了 f(n)=δ(n),(-3 >> n1=16;a=0.1;w=1.6*pi;>> n=0:n1;>> x=exp((a+j*w)*n);>>subplot(2,1,1),stem(n,real(x));%在指定位置描繪圖像 >> title('復(fù)指數(shù)序列的實(shí)部');>> subplot(2,1,2),stem(n,imag(x));>> title('復(fù)指數(shù)序列的虛部'); 在上述語(yǔ)句輸入完成之后,敲擊回車(chē)鍵,彈出圖形窗口,顯示出如下圖形,即已經(jīng)滿足題干所述條件,產(chǎn)生了f(n)=e(0.1+j1.6π)n,(0 >> f=50;Um=1;nt=2; %輸入信號(hào)頻率、振幅、顯示周期 >> N=16;T=1/f; %N為信號(hào)一個(gè)采樣周期的采樣點(diǎn)數(shù),T為信號(hào)周期 >> dt=T/N; %采樣時(shí)間間隔 >> n=0:nt*N-1; %建立離散時(shí)間的時(shí)間序列 >> tn=n*dt; %確定時(shí)間序列樣點(diǎn)在時(shí)間軸上的位置 >> f=Um*sawtooth(2*f*pi*tn)+1;>> subplot(2,1,1),stem(tn,f);%顯示經(jīng)采樣的信號(hào) >> title('離散信號(hào)');>> subplot(2,1,2),plot(tn,f);%顯示原連續(xù)信號(hào) >> title('連續(xù)信號(hào)'); 在上述語(yǔ)句輸入完成之后,敲擊回車(chē)鍵,彈出圖形窗口,顯示出如下圖形,即已經(jīng)滿足題干所述條件,顯示了原連續(xù)信號(hào)和采樣獲得的離散信號(hào)波形(4)在matlab命令窗口中逐行輸入下列語(yǔ)句 >> f=200;Um=1;nt=2; %輸入信號(hào)頻率、振幅、顯示周期 >> Fs=4000;N=Fs/f;T=1/f;%輸入采樣頻率、求采樣點(diǎn)數(shù)N、T為信號(hào)周期 >> dt=T/N; %采樣時(shí)間間隔 >> n=0:nt*N-1; %建立離散時(shí)間的時(shí)間序列 >> tn=n*dt; %確定時(shí)間序列樣點(diǎn)在時(shí)間軸上的位置 >> f=Um*sin(2*f*pi*tn);>> subplot(2,1,2),plot(tn,f);%顯示原連續(xù)信號(hào) >> title('連續(xù)信號(hào)');>> subplot(2,1,1),stem(tn,f);%顯示經(jīng)采樣的信號(hào) >> title('離散信號(hào)'); 在上述語(yǔ)句輸入完成之后,敲擊回車(chē)鍵,彈出圖形窗口,顯示出如下圖形,即已經(jīng)滿足題干所述條件,顯示了原連續(xù)信號(hào)和采樣獲得的離散信號(hào)波形 四 思考題 (1)如何在matlab下生產(chǎn)f(n)=3sin(nπ/4)(0 (2)改變實(shí)驗(yàn)步驟中最后兩個(gè)實(shí)驗(yàn)的頻率參數(shù),分別重新生成相關(guān)的信號(hào)? 實(shí)驗(yàn)二 線性卷積與循環(huán)卷積的原理及應(yīng)用 一、實(shí)驗(yàn)?zāi)康?/p> (1)掌握兩種卷積的原理和兩者的異同。 (2)掌握MATLAB實(shí)現(xiàn)兩種卷積的計(jì)算和比較。 二、實(shí)驗(yàn)內(nèi)容 (1)用MATLAB設(shè)計(jì)線性卷積;(2)調(diào)試寫(xiě)出線性卷積和源代碼;(3)用MATLAB設(shè)計(jì)循環(huán)卷積; 三 實(shí)驗(yàn)步驟 1 線性卷積定理 1)線性卷積的引入 在實(shí)際應(yīng)用中,為了分析時(shí)域離散線性非移變系統(tǒng)或者對(duì)序列進(jìn)行濾波處理等,需要計(jì)算兩個(gè)序列的線性卷積。線性卷積既可以在時(shí)域中直接計(jì)算,也可以通過(guò)變換在頻域中計(jì)算得到。 2)線性卷積的時(shí)域計(jì)算方法 計(jì)算卷積的基本運(yùn)算是翻轉(zhuǎn)、移位、相乘和相加,這類卷積稱為序列的線性卷積。如果兩個(gè)序列的長(zhǎng)度為N和M,那么卷積結(jié)果的長(zhǎng)度為N+M-1。線性卷積有四步運(yùn)算:①卷積運(yùn)算時(shí),y(n)要先反折得到y(tǒng)(-n);②m>0表示y(-n)序列右移,m<0表示左移,不同的m表示不同的值。 假設(shè)h(n)和x(n)都是有限長(zhǎng)序列,長(zhǎng)度分別為N和M,它們的線性卷積可以表示如下: y2 循環(huán)卷積定理 l?h(n)?x(n)?m?0?h(m)x(n?m)N?1 MATLAB信號(hào)處理工具箱提供了conv函數(shù),該函數(shù)用于計(jì)算兩個(gè)有限序列的卷積。 1)循環(huán)卷積的引入 為了提高線性卷積的速度,希望用DFT(FFT)計(jì)算線性卷積。從而引入循環(huán)卷積來(lái)運(yùn)用DFT快速計(jì)算線性卷積。循環(huán)卷積運(yùn)用到離散傅立葉變換的循環(huán)移位性質(zhì),即時(shí)域循環(huán)移位定理。2)循環(huán)卷積的時(shí)域計(jì)算方法 假設(shè)h(n)和x(n)都是有限長(zhǎng)序列,長(zhǎng)度分別為N和M,它們的L點(diǎn)循環(huán)卷積可以表示如下: [M, ] L?maxNL稱為循環(huán)卷積區(qū)間長(zhǎng)度。n和m的變化區(qū)間均是[0,L-1],直接計(jì)算該式比較麻煩。計(jì)cm?0LLy?h(n)?x(n)??h(m)L?1x((n?m))R(n)算機(jī)中采用矩陣相乘或快速傅里葉變換(FFT)的方法計(jì)算循環(huán)卷積。用矩陣相乘的方法計(jì)算兩個(gè)序列的循環(huán)卷積,這里關(guān)鍵是先形成循環(huán)卷積矩陣。如果h(n)的長(zhǎng)度N 3)線性卷積與循環(huán)卷積的關(guān)系 y上式說(shuō)明,cc(n)?q????y(n?qL)Rl?L(n) ly(n)等于y(n)以L為周期的周期延拓序列的主值序列。y(n)的長(zhǎng)度 l為N?M?1,因此只有當(dāng)循環(huán)卷積長(zhǎng)度L?N?M?1時(shí),cly(n)以L為周期進(jìn)行周期延 l(n)y(n)y拓才無(wú)混疊現(xiàn)象。因此取其主值序列就滿足=。即滿足條件L?N?M?1。 四 思考題 (1)比較線性卷積和循環(huán)卷積在序列長(zhǎng)度不同時(shí)兩者的聯(lián)系?(2)試著寫(xiě)出循環(huán)卷積的源代碼? 實(shí)驗(yàn)三 時(shí)域采樣理論與頻域采樣定理驗(yàn)證 一、實(shí)驗(yàn)?zāi)康?/p> 1時(shí)域采樣理論與頻域采樣理論是數(shù)字信號(hào)處理中的重要理論。要求掌握模擬信號(hào)采樣前后頻譜的變化,以及如何選擇采樣頻率才能使采樣后的信號(hào)不丟失信息;要求掌握頻率域采樣會(huì)引起時(shí)域周期化的概念,以及頻率域采樣定理及其對(duì)頻域采樣點(diǎn)數(shù)選擇的指導(dǎo)作用。 二、實(shí)驗(yàn)原理及方法 時(shí)域采樣定理的要點(diǎn)是:(a)對(duì)模擬信號(hào) ?(j?)xa(t)以間隔T進(jìn)行時(shí)域等間隔理想采樣,形成的采樣信號(hào)的頻譜X是原模擬信號(hào)頻譜為: Xa(j?)以采樣角頻率?s(?s?2?/T)為周期進(jìn)行周期延拓。公式 1???Xa(j??jn?s)??X(j?)?FT[xa(t)]Tn??? a (b)采樣頻率?s必須大于等于模擬信號(hào)最高頻率的兩倍以上,才能使采樣信號(hào)的 頻譜不產(chǎn)生頻譜混疊。 利用計(jì)算機(jī)計(jì)算上式并不方便,下面我們導(dǎo)出另外一個(gè)公式,以便用計(jì)算機(jī)上進(jìn)行實(shí)驗(yàn)。 理想采樣信號(hào)?a(t)xx(t)之間的關(guān)系為: 和模擬信號(hào)a? ?a(t)?xa(t)??(t?nT)xn??? 對(duì)上式進(jìn)行傅立葉變換,得到: ??Xa(j?)??[xa(t)??(t?nT)]e?j?tdt??n???? =??n???????xa(t)?(t?nT)e?j?tdt 在上式的積分號(hào)內(nèi)只有當(dāng)t?nT時(shí),才有非零值,因此: ?(j?)?Xa 上式中,在數(shù)值上 n????x?a(nT)e?j?nT xa(nT)=x(n),再將???T代入,得到: ?(j?)?Xa n????x(n)e??j?n j?X(e),即 上式的右邊就是序列的傅立葉變換 ?(j?)?X(ej?)Xa???T 上式說(shuō)明理想采樣信號(hào)的傅立葉變換可用相應(yīng)的采樣序列的傅立葉變換得到,只要將自變量ω用?T代替即可。 頻域采樣定理的要點(diǎn)是: a)對(duì)信號(hào)x(n)的頻譜函數(shù)X(ejω)在[0,2π]上等間隔采樣N點(diǎn),得到 XN(k)?X(ej?) 則N點(diǎn)IDFT[列,公式為: ??2?kN , k?0,1,2,?,N?1 XN(k)]得到的序列就是原序列x(n)以N為周期進(jìn)行周期延拓后的主值區(qū)序 ? xN(n)?IDFT[XN(k)]N?[?x(n?iN)]RN(n)i??? (b)由上式可知,頻域采樣點(diǎn)數(shù)N必須大于等于時(shí)域離散信號(hào)的長(zhǎng)度M(即N≥M),才能使時(shí)域不產(chǎn)生混疊,則N點(diǎn)IDFT[果N>M,XN(k)]得到的序列xN(n)就是原序列x(n),即xN(n)=x(n)。如xN(n)比原序列尾部多N-M個(gè)零點(diǎn);如果N 了時(shí)域混疊失真,而且 在數(shù)字信號(hào)處理的應(yīng)用中,只要涉及時(shí)域或者頻域采樣,都必須服從這兩個(gè)采樣理論的要點(diǎn)。 對(duì)比上面敘述的時(shí)域采樣原理和頻域采樣原理,得到一個(gè)有用的結(jié)論,這兩個(gè)采樣理論具有對(duì)偶性:“時(shí)域采樣頻譜周期延拓,頻域采樣時(shí)域信號(hào)周期延拓”。因此放在一起進(jìn)行實(shí)驗(yàn)。 三 實(shí)驗(yàn)步驟 (1)時(shí)域采樣理論的驗(yàn)證。 ??tx(t)?Aesin(?0t)u(t) a給定模擬信號(hào),?式中A=444.128,?=502π,0=502πrad/s,它的幅頻特性曲線如圖10.2.1 圖10.2.1 xa(t)的幅頻特性曲線 現(xiàn)用DFT(FFT)求該模擬信號(hào)的幅頻特性,以驗(yàn)證時(shí)域采樣理論。安照xa(t)的幅頻特性曲線,選取三種采樣頻率,即Fs=1kHz,300Hz,200Hz。觀測(cè)時(shí)間選Tp?50ms。為使用DFT,首先用下面公式產(chǎn)生時(shí)域離散信號(hào),對(duì)三種采樣頻率,采樣序列按順序用x1(n),x2(n),x3(n)表示。 ??nTx(n)?x(nT)?Aesin(?0nT)u(nT)a 因?yàn)椴蓸宇l率不同,得到的x1(n),x2(n),公式 x3(n)的長(zhǎng)度不同,長(zhǎng)度(點(diǎn)數(shù))用N?Tp?Fs計(jì)算。選FFT的變換點(diǎn)數(shù)為M=64,序列長(zhǎng)度不夠64的尾部加零。 X(k)=FFT[x(n)],k=0,1,2,3,-----,M-1 式中k代表的頻率為 ?k?2?kM。 要求: 編寫(xiě)實(shí)驗(yàn)程序,計(jì)算x1(n)、x2(n)和析頻譜混疊失真。 (2)頻域采樣理論的驗(yàn)證 給定信號(hào)如下: x3(n)的幅度特性,并繪圖顯示。觀察分 ?n?10?n?13?x(n)??27?n14?n?26?0其它? j?X(e)?FT[x(n)]在區(qū)間[0,2?]上等間隔采樣32 編寫(xiě)程序分別對(duì)頻譜函數(shù)和16點(diǎn),得到X32(k)和X16(k): X32(k)?X(ej?) ??2?k32 , k?0,1,2,?31 X16(k)?X(ej?) 再分別對(duì) ???216k , k?0,1,2,?15 X32(k)和X16(k)進(jìn)行32點(diǎn)和16點(diǎn)IFFT,得到x32(n)和x16(n): x32(n)?IFFTX[32k(3)2] ?n , ?0, 1,2,x16(n)?IFFTX[16k(1)6] ?n , ?0, 1,2,31,15j?X(e)、X32(k)和X16(k)的幅度譜,并繪圖顯示x(n)、x32(n)和x16(n)的波形,分別畫(huà)出進(jìn)行對(duì)比和分析,驗(yàn)證總結(jié)頻域采樣理論。 提示:頻域采樣用以下方法容易變程序?qū)崿F(xiàn)。 j?X(k)?FFT[x(n)]X(e)在[0,2?]的3232① 直接調(diào)用MATLAB函數(shù)fft計(jì)算就得到32點(diǎn)頻率域采樣 ② 抽取X32(k)的偶數(shù)點(diǎn)即可得到X(ej?)在[0,2?]的16點(diǎn)頻率域采樣X(jué)16(k),即X16(k)?X32(2k), k?0,1,2,?,15。 ○3 當(dāng)然也可以按照頻域采樣理論,先將信號(hào)x(n)以16為周期進(jìn)行周期延拓,取其主值區(qū)(16 j?X(e)在[0,2?]的16點(diǎn)頻率域采樣X(jué)16(k)。點(diǎn)),再對(duì)其進(jìn)行16點(diǎn)DFT(FFT),得到的就是 四 思考題 如果序列x(n)的長(zhǎng)度為M,希望得到其頻譜()jXeω在]2,0[π上的N點(diǎn)等間隔采樣,當(dāng)N 實(shí)驗(yàn)四 離散系統(tǒng)的零極點(diǎn)分析 一、實(shí)驗(yàn)?zāi)康?/p> 1. 熟悉MATLAB的仿真及應(yīng)用環(huán)境 2. 在MATLAB的環(huán)境下研究控制系統(tǒng)穩(wěn)定性 二、實(shí)驗(yàn)內(nèi)容和要求 1.了解離散系統(tǒng)的零極點(diǎn)與系統(tǒng)因果性和穩(wěn)定性的關(guān)系。2.觀察離散系統(tǒng)零極點(diǎn)對(duì)系統(tǒng)沖激響應(yīng)的影響。 3.熟悉MATLAB中進(jìn)行離散系統(tǒng)零極點(diǎn)分析的常用子函數(shù)。三 實(shí)驗(yàn)步驟 一)MATLAB子函數(shù) 1.zplane 功能:顯示離散系統(tǒng)的零極點(diǎn)分布圖。 調(diào)用格式: zplane(z,p);繪制由列向量z確定的零點(diǎn)、列向量p確定的極點(diǎn)構(gòu)成的零極點(diǎn)分布圖。 zplane(b,a);繪制由行向量b和a構(gòu)成的系統(tǒng)函數(shù)確定的零極點(diǎn)分布圖。 [hz,hp,ht]=zplane(z,p);執(zhí)行后可得到3個(gè)句柄向量:hz為零點(diǎn)線句柄,hp為極點(diǎn)線句柄,ht為坐標(biāo)軸、單位圓及文本對(duì)象的句柄。 2.roots 功能:求多項(xiàng)式的根。 調(diào)用格式: r=roots(a);由多項(xiàng)式的分子或分母系數(shù)向量求根向量。其中,多項(xiàng)式的分子或分母系數(shù)按降冪排列,得到的根向量為列向量。 二)實(shí)驗(yàn)原理 1.離散系統(tǒng)的因果性和穩(wěn)定性 1)因果系統(tǒng) 由理論分析可知,一個(gè)離散系統(tǒng)的因果性在時(shí)域中必須滿足的充分必要條件是: h(n)=0 n<0 即系統(tǒng)的沖激響應(yīng)必須是右序列。 在變換域,極點(diǎn)只能在z平面上一個(gè)有界的以原點(diǎn)為中心的圓內(nèi)。如果系統(tǒng)函數(shù)是一個(gè)多項(xiàng)式,則分母上z的最高次數(shù)應(yīng)大于分子上z的最高次數(shù)。 2)穩(wěn)定系統(tǒng) 在時(shí)域中,離散系統(tǒng)穩(wěn)定的充分必要條件是:它的沖激響應(yīng)絕對(duì)可加,即 ? h(n)?? n?0 在變換域,則要求所有極點(diǎn)必須在z平面上以原點(diǎn)為中心的單位圓內(nèi)。 3)因果穩(wěn)定系統(tǒng) 綜合系統(tǒng)的因果性和穩(wěn)定性兩方面的要求可知,一個(gè)因果穩(wěn)定系統(tǒng)的充分必要條件是:系統(tǒng)函數(shù)的全部極點(diǎn)必須在z平面上以原點(diǎn)為中心的單位圓內(nèi)。 2.系統(tǒng)極點(diǎn)的位置對(duì)系統(tǒng)響應(yīng)的影響 系統(tǒng)極點(diǎn)的位置對(duì)系統(tǒng)響應(yīng)有著非常明顯的影響。下面舉例說(shuō)明系統(tǒng)的極點(diǎn)分別是實(shí)數(shù) ?和復(fù)數(shù)時(shí)的情況,使用MATLAB提供的zplane子函數(shù)制作零極點(diǎn)分布圖進(jìn)行分析。 3.系統(tǒng)的因果穩(wěn)定性實(shí)例分析 在MATLAB中提供了roots子函數(shù),用于求多項(xiàng)式的根。配合使用zplane子函數(shù)制作零極點(diǎn)分布圖,可以幫助我們進(jìn)行系統(tǒng)因果穩(wěn)定性的分析。 4.實(shí)驗(yàn)任務(wù) (z?0.3)H3(z)?(z?1?j)(z?1?j) 4?1.6z?1?1.6z?2?4z?3H2(z)? 1?0.4z?1?0.35z?2?0.4z?3 求該系統(tǒng)的零極點(diǎn)及零極點(diǎn)分布圖,并判斷系統(tǒng)的因果穩(wěn)定性。 四 思考題 1結(jié)合本次實(shí)驗(yàn)與書(shū)本上相關(guān)原理,對(duì)書(shū)本后面的習(xí)題進(jìn)行相關(guān)的matlab軟件仿真? 2因果穩(wěn)定的離散系統(tǒng)必須滿足的充分必要條件是什么?MATLAB提供了哪些進(jìn)行零極點(diǎn)求解的子函數(shù)?如何使用? 實(shí)驗(yàn)五 基于MATLAB的快速傅里葉變換 一 實(shí)驗(yàn)?zāi)康?/p> 學(xué)習(xí)用FFT對(duì)連續(xù)信號(hào)和時(shí)域離散信號(hào)進(jìn)行譜分析的方法,了解可能出現(xiàn)的誤差及其原因,以便正確應(yīng)用FFT。 二 實(shí)驗(yàn)原理 用FFT對(duì)信號(hào)作頻譜分析是學(xué)習(xí)數(shù)字信號(hào)處理的重要內(nèi)容。經(jīng)常需要進(jìn)行譜分析的信號(hào)是模擬信號(hào)和時(shí)域離散信號(hào)。對(duì)信號(hào)進(jìn)行譜分析的重要問(wèn)題是頻譜分辨率D和分析誤差。頻譜分辨率直接和FFT的變換區(qū)間N有關(guān),因?yàn)镕FT能夠?qū)崿F(xiàn)的頻率分辨率是N/2π,因此要求DN≤/2π??梢愿鶕?jù)此式選擇FFT的變換區(qū)間N。誤差主要來(lái)自于用FFT作頻譜分析時(shí),得到的是離散譜,而信號(hào)(周期信號(hào)除外)是連續(xù)譜,只有當(dāng)N較大時(shí)離散譜的包絡(luò)才能逼近于連續(xù)譜,因此N要適當(dāng)選擇大一些。周期信號(hào)的頻譜是離散譜,只有用整數(shù)倍周期的長(zhǎng)度作FFT,得到的離散譜才能代表周期信號(hào)的頻譜。如果不知道信號(hào)周期,可以盡量選擇信號(hào)的觀察時(shí)間長(zhǎng)一些。對(duì)模擬信號(hào)進(jìn)行譜分析時(shí),首先要按照采樣定理將其變成時(shí)域離散信號(hào)。如果是模擬周期信號(hào),也應(yīng)該選取整數(shù)倍周期的長(zhǎng)度,經(jīng)過(guò)采樣后形成周期序列,按照周期序列的譜分析進(jìn)行。 三 實(shí)驗(yàn)步驟及內(nèi)容 (1)對(duì)以下序列進(jìn)行譜分析。 x1(n)?R4(4) n+1 0≤n≤3 x2(n)={ 8-n 4≤n≤7 0 其它n 4-n 0≤n≤3 X3(n)={ n-3 4≤n≤7 0 其它n 選擇FFT的變換區(qū)間N為8和16 兩種情況進(jìn)行頻譜分析。分別打印其幅頻特性曲線。并進(jìn)行對(duì)比、分析和討論。 (2)對(duì)以下周期序列進(jìn)行譜分析。 x3(n)?cos?n4 選擇FFT的變換區(qū)間N為8和16 兩種情況分別對(duì)以上序列進(jìn)行頻譜分析。分別打印其幅頻特性曲線。并進(jìn)行對(duì)比、分析和討論。 (3)對(duì)模擬周期信號(hào)進(jìn)行譜分析 x4(n)?cos8?t?cos16?t?cos20?t 選擇 采樣頻率HzFs64=,變換區(qū)間N=16,32,64 三種情況進(jìn)行譜分析。分別打印其幅頻特性,并進(jìn)行分析和討論。 四 思考題 (1)對(duì)于周期序列,如果周期不知道,如何用FFT進(jìn)行譜分析? (2)如何選擇FFT的變換區(qū)間?(包括非周期信號(hào)和周期信號(hào))