資源描述:
《數(shù)字信號處理matlab報告》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、實驗一熟悉matlab一、實驗內(nèi)容練習(xí)matlab的使用,熟悉離散卷積運算,產(chǎn)生復(fù)指數(shù)序列二、實驗?zāi)康?、掌握離散卷積計算機實現(xiàn)。2、進一步對離散信號卷積算法的理解。三、原理及算法概要算法:把沖激響應(yīng)h(n)與輸入序列x(n)分別輸入到程序中,然后調(diào)用離散卷積函數(shù)y=conv(x.,h)即可得到所要求的結(jié)果。原理:離散卷積定義為當(dāng)序列為有限長時,則四、程序與運行結(jié)果%實現(xiàn)復(fù)指數(shù)序列程序n=0:30;x=exp(.05+i*pi/6).^n;xr=real(x);xi=imag(x);xm=abs(x);xa=angle(x);figure;
2、subplot(221);stem(n,xr);title('實部');subplot(222);stem(n,xi);title('虛部');subplot(223);stem(n,xm);title('模');subplot(224);stem(n,xa);title('相角');程序運行結(jié)果如圖1所示。從圖中可以看出,復(fù)指數(shù)序列的實部和虛部都是幅度按指數(shù)增長的正弦序列。圖1復(fù)指數(shù)序列波形x1=[1111];nx1=0:3;%實現(xiàn)卷積程序h1=[10.80.640.8^30.8^4];nh1=0:4;
y1=conv(x1,h1);
s
3、ubplot(2,3,1);stem(nx1,x1);title('序列x1');
xlabel('n');ylabel('x1(n)');
subplot(2,3,2);stem(nh1,h1);title('序列h1');
xlabel('n');ylabel('h1(n)');
subplot(2,3,3);stem(y1);title('序列y1');
xlabel('n');ylabel('y1(n)');
x2=[1111];nx2=0:3;
nh2=0:1:20;
h2=(0.8).^nh2;
y2=conv(x2,h2);
4、subplot(2,3,4);stem(x2);title('序列x2');
xlabel('n');ylabel('x2(n)');
subplot(2,3,5);stem(h2);title('序列h2');
xlabel('n');ylabel('h2(n)');
subplot(2,3,6);stem(y2);title('序列y2');
xlabel('n');ylabel('y2(n)')
圖2卷積程序波形五、結(jié)果分析有限長序列的離散卷積計算結(jié)果與理論值一致,而存在無限長序列做卷積時,由于在程序處理時是用比較長有限長序列代替的,
5、所以與理論值基本相同。六、實習(xí)心得主要進行的是有matlab實現(xiàn)離散卷積的計算,分為三個類型:沖激響應(yīng)h(n)與輸入序列x(n)都為有限長,一個序列為有限長一個序列為無限長和兩個序列均為無限長。這部分實習(xí)內(nèi)容不難,是原來做過的,主要是為了拾揀起原來所學(xué)的知識。第一種類型是最簡單,也是最基本的,直接調(diào)用函數(shù)y=conv(x.,h)即可。在第二種和第三種類型的計算中遇到了一些困難,在輸入序列時,由于存在無限長的序列,不知道該怎么輸入,查過了相關(guān)的題目才弄明白。通過本專題的實習(xí),讓我對數(shù)字信號處理中的一些基礎(chǔ)知識有了一些回顧,對原來所學(xué)過的知識也
6、熟悉了一些。實驗二FFT一、實驗內(nèi)容設(shè)有離散序列x(n)=0.51sin(2πn/32)+sin(4πn/32)-0.1sin(6πn/32);采集數(shù)據(jù)長度N=32,分析32點的頻譜,并畫出幅頻特性。二、實驗?zāi)康?、了解DFT及FFT的性質(zhì)和特點2、利用FFT算法計算信號的頻譜。三、關(guān)鍵算法算法:讀入離散序列x(n)=0.51sin(2πn/32)+sin(4πn/32)-0.1sin(6πn/32),采集長度為N=32的數(shù)據(jù),調(diào)用matlab中的函數(shù)fft(x)對其作離散傅里葉變換得到32點的頻譜。原理概要:當(dāng)抽樣數(shù)N=2M時,以下為算法
7、蝶形圖。一般規(guī)律如下:1、當(dāng)N=2M時,則要進行M次分解,即進行M級蝶形單元的計算2、按自然順序輸入,輸出是碼位倒置。3、每一級包含N/2個基本蝶形運算4、第L級有2L-1個蝶群,蝶群間隔為N/2L-1如果是Matlab實現(xiàn)的話,可用以下兩種方法計算信號頻譜1、調(diào)用庫函數(shù)為:fft(),直接計算X(k)2、進行矩陣運算四、程序及運行結(jié)果n=0:31;x=0.51*sin(2*pi*n/32)+sin(4*pi*n/32)-0.1*sin(6*pi*n/32);y=fft(x);y1=abs(y);y2=angle(y);subplot(2,
8、1,1);stem(y1);subplot(2,1,2);stem(y2);title('Hzhao');typedefstruct{floatreal;floatimag;}C