數字訊號處理實驗(二):離散時間訊號和線性時不變離散時間系統的頻域分析
阿新 • • 發佈:2019-01-07
目錄
一、實驗目的:
熟悉Mat lab中的訊號處理工具箱及相關命令,掌握用Mat lab驗證離散時間傅立葉變換相關性質的方法;掌握用Mat lab分析離散時間系統頻域特性的方法並能繪製幅頻特性和相頻特性圖。
二、實驗內容及要求:
1. 離散時間訊號的頻域分析:
(1)修改程式P3.1,在範圍內計算如下序列的離散時間傅立葉變換並繪製幅頻特性和相頻特性圖。
(2)修改程式P3.2,D=8,驗證離散時間傅立葉變換的時移特性並繪圖。
(3)修改程式P3.3,,驗證離散時間傅立葉變換的頻移特性並繪圖。
2. 線性時不變離散時間系統的頻域分析:
(1)修改程式P3.1,計算並畫出如下傳輸函式的頻率響應,它是哪種型別的濾波器?
(2)修改程式P4.2,計算並畫出一個長度為6的滑動平均濾波器的增益響應。
(3)用Mat lab畫出如下濾波器的零極點圖並分析穩定性。
三、實驗結果及問題回答:
1. 離散時間訊號的頻域分析:
(1)實驗結果:
clf; w = 0:pi/511:pi; num = [0.7 -0.5 0.3 1];%系統頻率響應的分子向量 den = [1 0.3 -0.5 0.7];%系統頻率響應的分母向量 h = freqz(num, den, w);%求系統的頻率響應 subplot(2,1,1) plot(w/pi,real(h));grid title('Real part of H(e^{j\omega})') xlabel('\omega /\pi'); ylabel('Amplitude'); subplot(2,1,2) plot(w/pi,imag(h));grid title('Imaginary part of H(e^{j\omega})') xlabel('\omega /\pi'); ylabel('Amplitude'); pause subplot(2,1,1) plot(w/pi,abs(h));grid title('Magnitude Spectrum |H(e^{j\omega})|') xlabel('\omega /\pi'); ylabel('Amplitude'); subplot(2,1,2) plot(w/pi,angle(h));grid title('Phase Spectrum arg[H(e^{j\omega})]') xlabel('\omega /\pi'); ylabel('Phase in radians');
(2)實驗結果:
clf;
w = -pi:2*pi/255:pi;
wo = 0.4*pi;
D = 8;%設定對原序列時移的大小
num = [1 2 3 4 5 6 7 8 9];
h1 = freqz(num, 1, w);%求原序列的頻率響應
h2 = freqz([zeros(1,D) num], 1, w);%在原序列前面加上一定數量的0,以達到對原序列進行時移的操作(時移不改變序列的頻率響應,但是改變了相頻特性)
subplot(2,2,1)
plot(w/pi,abs(h1));grid
title('Magnitude Spectrum of Original Sequence')
subplot(2,2,2)
plot(w/pi,abs(h2));grid
title('Magnitude Spectrum of Time-Shifted Sequence')
subplot(2,2,3)
plot(w/pi,angle(h1));grid
title('Phase Spectrum of Original Sequence')
subplot(2,2,4)
plot(w/pi,angle(h2));grid
title('Phase Spectrum of Time-Shifted Sequence')
從圖可以看出,原訊號經過時移之後,系統函式的幅度響應沒有發生變化,而相位譜發生了變化,相位譜的譜線比以前變得更密一些。
(3)實驗結果:
clf;
w = -pi:2*pi/255:pi;
wo = 0.2*pi;%設定對原序列頻移的大小
num1 = [1 3 5 7 9 11 13 15 17];%原序列
L = length(num1);%求原序列的長度
h1 = freqz(num1, 1, w);%求原序列的頻率響應
n = 0:L-1;
num2 = exp(wo*i*n).*num1;%直接利用頻移的性質公式來計算序列的頻移
h2 = freqz(num2, 1, w);%求頻移後序列的頻率響應(頻移會改變序列的頻率響應和相頻特性)
subplot(2,2,1)
plot(w/pi,abs(h1));grid
title('Magnitude Spectrum of Original Sequence')
subplot(2,2,2)
plot(w/pi,abs(h2));grid
title('Magnitude Spectrum of Frequency-Shifted Sequence')
subplot(2,2,3)
plot(w/pi,angle(h1));grid
title('Phase Spectrum of Original Sequence')
subplot(2,2,4)
plot(w/pi,angle(h2));grid
title('Phase Spectrum of Frequency-Shifted Sequence')
從圖可以看出,原訊號經過頻移之後,系統函式的幅度響應和相位譜都發生了變化,並且幅度響應和相位譜都是僅僅發生了左右移動的變化。
2. 線性時不變離散時間系統的頻域分析:
(1)實驗結果:
clf;
w = 0:8*pi/511:pi;
num = [0.15 0 -0.15];%傳輸函式的分子向量
den = [1 -0.5 0.7];%傳輸函式的分母向量
h = freqz(num, den, w);%求傳輸函式的頻率響應
subplot(2,1,1)
plot(w/pi,real(h));grid
title('Real part of H(e^{j\omega})')
xlabel('\omega /\pi');
ylabel('Amplitude');
subplot(2,1,2)
plot(w/pi,imag(h));grid
title('Imaginary part of H(e^{j\omega})')
xlabel('\omega /\pi');
ylabel('Amplitude');
pause
subplot(2,1,1)
plot(w/pi,abs(h));grid
title('Magnitude Spectrum |H(e^{j\omega})|')
xlabel('\omega /\pi');
ylabel('Amplitude');
subplot(2,1,2)
plot(w/pi,angle(h));grid
title('Phase Spectrum arg[H(e^{j\omega})]')
xlabel('\omega /\pi');
ylabel('Phase in radians');
從頻率響應圖中可以看出,該濾波器是一個帶通濾波器。
(2)實驗結果:
clf;
M = 6;%設定濾波器的長度
num = ones(1,M)/M;
[g,w] = gain(num,1);%求增益函式
plot(w/pi,g);grid
axis([0 1 -50 0.5])
xlabel('\omega /\pi');ylabel('Gain in dB');
title(['M = ', num2str(M)])
gain函式:
function [g,w] = gain(num,den)
w = 0:pi/255:pi;
h = freqz(num,den,w);%求頻率響應
g = 20*log10(abs(h));%求頻率響應h的增益響應
(3)實驗結果:
clf;
num=[1];%設定函式的分子向量
den = [1 -1.848 0.85];%設定函式的分母向量
disp(roots(den));%輸出零點
zplane(num,den);%繪製系統函式的零極點圖
從零極點圖可以看出來,該函式的2個極點均在單位圓內,即該系統是一個穩定的系統。