數字訊號處理例項

2022-12-19 23:36:05 字數 4735 閱讀 9311

matlab下的數字訊號處理實現示例一訊號、系統和系統響應1、理想取樣訊號序列

(1)首先產生訊號x(n),0<=n<=50n=0:50; %定義序列的長度是50a=444.128; %設定訊號有關的引數a=50*sqrt(2.

0)*pi;t=0.001; %取樣率

w0=50*sqrt(2.0)*pi;

x=a*exp(-a*n*t).*sin(w0*n*t); %pi是matlab定義的π,訊號乘可採用「.*」close all %清除已經繪製的x(n)圖形

subplot(3,1,1);stem(x); %繪製x(n)的圖形title(『理想取樣訊號序列』);

(2)繪製訊號x(n)的幅度譜和相位譜k=-25:25;

w=(pi/12.5)*k;

x=x*(exp(-j*pi/12.5)).^(n』*k);magx=abs(x); %繪製x(n)的幅度譜

subplot(3,1,2);stem(magx);title(『理想取樣訊號序列的幅度譜』);angx=angle(x); %繪製x(n)的相位譜

subplot(3,1,3);stem(angx); title (『理想取樣訊號序列的相位譜』)(3)改變引數為:1,0734.2,4.

0,10==ω==taαn=0:50; %定義序列的長度是50a=1; %設定訊號有關的引數a=0.4;

t=1; %取樣率w0=2.0734;

x=a*exp(-a*n*t).*sin(w0*n*t); %pi是matlab定義的π,訊號乘可採用「.*」close all %清除已經繪製的x(n)圖形

subplot(3,1,1);stem(x); %繪製x(n)的圖形title(『理想取樣訊號序列』);k=-25:25;

w=(pi/12.5)*k;

x=x*(exp(-j*pi/12.5)).^(n』*k);magx=abs(x); %繪製x(n)的幅度譜

subplot(3,1,2);stem(magx);title(『理想取樣訊號序列的幅度譜』);

angx=angle(x); %繪製x(n)的相位譜

subplot(3,1,3);stem(angx) ; title (『理想取樣訊號序列的相位譜』)2、單位脈衝序列

在matlab中,這一函式可以用zeros函式實現:n=1:50; %定義序列的長度是50

x=zeros(1,50); %注意:matlab中陣列下標從1開始x(1)=1;close all;

subplot(3,1,1);stem(x);title(『單位衝擊訊號序列』);k=-25:25;

x=x*(exp(-j*pi/12.5)).^(n』*k);magx=abs(x); %繪製x(n)的幅度譜

subplot(3,1,2);stem(magx);title(『單位衝擊訊號的幅度譜』);angx=angle(x); %繪製x(n)的相位譜

subplot(3,1,3);stem(angx) ; title (『單位衝擊訊號的相位譜』)3、矩形序列n=1:50

x=sign(sign(10-n)+1);close all;

subplot(3,1,1);stem(x);title(『單位衝擊訊號序列』);k=-25:25;

x=x*(exp(-j*pi/25)).^(n』*k);magx=abs(x); %繪製x(n)的幅度譜

subplot(3,1,2);stem(magx);title(『單位衝擊訊號的幅度譜』);angx=angle(x); %繪製x(n)的相位譜

subplot(3,1,3);stem(angx) ; title (『單位衝擊訊號的相位譜』)4、特定衝擊串:)3()2(5.2)1(5.

2)()(+++=nnnnnxδδδδn=1:50; %定義序列的長度是50

x=zeros(1,50); %注意:matlab中陣列下標從1開始x(1)=1;x(2)=2.5;x(3)=2.5;x(4)=1;close all;

subplot(3,1,1);stem(x);title(『單位衝擊訊號序列』);k=-25:25;

x=x*(exp(-j*pi/12.5)).^(n』*k);magx=abs(x); %繪製x(n)的幅度譜

subplot(3,1,2);stem(magx);title(『單位衝擊訊號的幅度譜』);angx=angle(x); %繪製x(n)的相位譜

subplot(3,1,3);stem(angx) ; title (『單位衝擊訊號的相位譜』)

5、卷積計算:σ+∞∞===mmnhmxnhnxny

在matlab中。提供了卷積函式conv,即y=conv(x,h),呼叫十分方便。例如:

系統:)3()2(5.2)1(5.

2)()(+++=nnnnnhbδδδδ訊號:500),sin()(0<≤ω=nntaetxntaαn=1:50; %定義序列的長度是50

hb=zeros(1,50); %注意:matlab中陣列下標從1開始hb(1)=1;hb(2)=2.5;hb(3)=2.5;hb(4)=1;close all;

subplot(3,1,1);stem(hb);title(『系統hb[n]』);m=1:50; %定義序列的長度是50a=444.128; %設定訊號有關的引數a=50*sqrt(2.

0)*pi;t=0.001; %取樣率w0=50*sqrt(2.0)*pi;

x=a*exp(-a*m*t).*sin(w0*m*t); %pi是matlab定義的π,訊號乘可採用「.*」subplot(3,1,2);stem(x);title(『輸入訊號x[n]』);y=conv(x,hb);

subplot(3,1,3);stem(y);title(『輸出訊號y[n]』);6、卷積定律驗證k=-25:25;

x=x*(exp(-j*pi/12.5)).^(n』*k);magx=abs(x); %繪製x(n)的幅度譜

subplot(3,2,1);stem(magx);title(『輸入訊號的幅度譜』);angx=angle(x); %繪製x(n)的相位譜

subplot(3,2,2);stem(angx) ; title (『輸入訊號的相位譜』)hb=hb*(exp(-j*pi/12.5)).^(n』*k);maghb=abs(hb); %繪製hb(n)的幅度譜

subplot(3,2,3);stem(maghb);title(『系統響應的幅度譜』);anghb=angle(hb); %繪製hb(n)的相位譜

subplot(3,2,4);stem(anghb) ; title (『系統響應的相位譜』)n=1:99;k=1:99;

y=y*(exp(-j*pi/12.5)).^(n』*k);magy=abs(y); %繪製y(n)的幅度譜

subplot(3,2,5);stem(magy);title(『輸出訊號的幅度譜』);angy=angle(y); %繪製y(n)的相位譜

subplot(3,2,6);stem(angy) ; title (『輸出訊號的相位譜』)%以下將驗證的結果顯示

xhb=x.*hb;

subplot(2,1,1);stem(abs(xhb));title(『x(n)的幅度譜與hb(n)幅度譜相乘』);subplot(2,1,2);stem(abs(y);title(『y(n)的幅度譜』); axis([0,60,0,8000])附錄二用fft進行訊號的頻譜分析

1、高斯序列:≤≤=elsenenxqpna,0150,)(2)(n=0:15; %定義序列的長度是15p=8;q=2;

x=exp(-1*(n-p).^2/q);close all;

subplot(3,1,1);stem(abs(fft(x)))p=8;q=4;

x=exp(-1*(n-p).^2/q);subplot(3,1,2);stem(abs(fft(x)))p=8;q=8;

x=exp(-1*(n-p).^2/q);subplot(3,1,3);stem(abs(fft(x)))

2、衰減正弦序列:≤≤=elsenfnenxnb,0150,2sin)(παn=0:15; %定義序列的長度是15a=0.1;f=0.0625;

x=exp(-a*n).*sin(2*pi*f*n);close all;

subplot(2,1,1);stem(x);

subplot(2,1,2);stem(abs(fft(x)))

3、三角波序列:≤≤≤≤+=elsennnnnxc,074,830,1)(for i=0:3

x(i)=i+1;x(i+4)=8-(i+4);end

for i=8:15x(i)=0;end

close all;

subplot(2,1,1);stem(x);

subplot(2,1,2);

stem(abs(fft(x,16)))

4、反三角序列:≤≤≤≤=elsennnnnxd,074,330,4)(附錄三窗函式法設計fir濾波器

一、在matlab中產生窗函式十分簡單:(1)矩形窗(rectangle window)

呼叫格式:w=boxcar(n),根據長度n產生乙個矩形窗w。(2)三角窗(triangular window)

呼叫格式:w=triang(n),根據長度n產生乙個三角窗w。(3)漢寧窗(hanning window)

呼叫格式:w=hanning(n),根據長度n產生乙個漢寧窗w。(4)海明窗(hamming window)

呼叫格式:w=hamming(n),根據長度n產生乙個海明窗w。(5)布拉克曼窗(blackman window)

呼叫格式:w=blackman(n),根據長度n產生乙個布拉克曼窗w。(6)愷撒窗(kaiser window)

呼叫格式:w=kaiser(n,beta),根據長度n和影響窗函式旁瓣的β引數產生乙個愷撒窗w。

數字訊號處理複習

一 填空題 1 對模擬訊號 一維訊號,是時間的函式 進行取樣後,就是離散訊號,再進行幅度量化後就是數碼訊號。2 若線性時不變系統是有因果性,則該系統的單位取樣響應序列h n 應滿足的充分必要條件是當n 0時,h n 0 3 序列的n點dft是的z變換在單位圓的n點等間隔取樣。4 只有當迴圈卷積長度l...

數字訊號處理實驗

一 實驗目的 研究不同型別的窗函式,研究一些不同的方法來測試窗函式的效能 專注於有關窄帶訊號的幾個不同的情形。二 實驗原理 訊號是無限長的,而在進行訊號處理時只能採用有限長訊號,所以需要將訊號 截斷 在訊號處理中,截斷 被看成是用乙個有限長的 視窗 看無限長的訊號,或者從分析的角度是無限長的訊號x ...

數碼訊號與處理

姓名 李智鵬 學號 091204117 院系 電氣與電子工程學院 指導老師 方焯 2018 9 23 離散時間訊號與系統 一 一 實驗內容 計算一全通系統 z 1 0.5 1 0.5z 1 的單位取樣響應h n 矩形序列r5 n 的響應 比較該響應與r5 n h n 的結果.2 實驗原理 將單位取樣...