1. 程式人生 > >數字訊號處理實驗(三):連續時間訊號的數字處理

數字訊號處理實驗(三):連續時間訊號的數字處理

目錄

一、實驗目的:

二、實驗內容及要求:

1. 連續時間訊號的抽樣及重構:

2. 模擬濾波器的設計:

三、實驗結果及問題回答:

1. 連續時間訊號的抽樣及重構:

2. 模擬濾波器的設計:


一、實驗目的:

    掌握通過週期抽樣實現連續時間訊號到離散時間訊號的轉換,驗證抽樣定理,瞭解訊號重構的過程;掌握模擬濾波器的設計方法。

二、實驗內容及要求:

1. 連續時間訊號的抽樣及重構:

  (1)修改程式P5.1,將正弦訊號的頻率分別改為3Hz和7Hz,畫出抽樣結果圖,相應的等效離散時間訊號之間有差別嗎?若沒有差別,為什麼?

  (2)修改程式P5.2,將正弦訊號的頻率分別改為3Hz和7Hz,畫出重構訊號。

2. 模擬濾波器的設計:

修改程式P5.4,設計巴特沃茲低通濾波器,其中通帶截止頻率為3000Hz,阻帶截止頻率為4000Hz,通帶波紋0.5dB,最小阻帶衰減30dB,繪製增益響應。所設計的濾波器的階數和3dB截止頻率分別是多少?

三、實驗結果及問題回答:

1. 連續時間訊號的抽樣及重構:

  1. 實驗結果:
clf;

t = 0:0.0005:1;

f = 3;%設定正弦訊號的頻率

xa = cos(2*pi*f*t);%生成正弦訊號

subplot(2,1,1)

plot(t,xa);grid

xlabel('Time, msec');ylabel('Amplitude');

title('Continuous-time signal x_{a}(t)');

axis([0 1 -1.2 1.2])

subplot(2,1,2);

T = 0.1;%設定取樣週期

n = 0:T:1;

xs = cos(2*pi*f*n);%對正弦訊號進行取樣

k = 0:length(n)-1;

stem(k,xs);grid;

xlabel('Time index n');ylabel('Amplitude');

title('Discrete-time signal x[n]');

axis([0 (length(n)-1) -1.2 1.2])

clf;

t = 0:0.0005:1;

f = 7;%設定正弦訊號的頻率

xa = cos(2*pi*f*t);%生成正弦訊號

subplot(2,1,1)

plot(t,xa);grid

xlabel('Time, msec');ylabel('Amplitude');

title('Continuous-time signal x_{a}(t)');

axis([0 1 -1.2 1.2])

subplot(2,1,2);

T = 0.1;%設定取樣週期

n = 0:T:1;

xs = cos(2*pi*f*n);%對正弦訊號進行取樣

k = 0:length(n)-1;

stem(k,xs);grid;

xlabel('Time index n');ylabel('Amplitude');

title('Discrete-time signal x[n]');

axis([0 (length(n)-1) -1.2 1.2])

 等效的離散時間訊號沒有差別,因為:cos(2\pi *3*0.1)=cos(2\pi*7*0.1)  故取樣結果一樣。

(2)實驗結果:

clf;

T = 0.1;

f = 3;%設定正弦訊號的頻率

n = (0:T:1)';

xs = cos(2*pi*f*n);%生成離散的正弦訊號xs

t = linspace(-0.5,1.5,500)';%利用linspace()函式來生成時間向量

ya = sinc((1/T)*t(:,ones(size(n))) - (1/T)*n(:,ones(size(t)))')*xs;%對離散訊號進行重構

plot(n,xs,'o',t,ya);grid;

xlabel('Time, msec');ylabel('Amplitude');

title('Reconstructed continuous-time signal y_{a}(t)');

axis([-0.5  1.5  -1.2 1.2]);

clf;

T = 0.1;

f = 7;%設定正弦訊號的頻率

n = (0:T:1)';

xs = cos(2*pi*f*n);%生成離散的正弦訊號xs

t = linspace(-0.5,1.5,500)';%利用linspace()函式來生成時間向量

ya = sinc((1/T)*t(:,ones(size(n))) - (1/T)*n(:,ones(size(t)))')*xs;%對離散訊號進行重構

plot(n,xs,'o',t,ya);grid;

xlabel('Time, msec');ylabel('Amplitude');

title('Reconstructed continuous-time signal y_{a}(t)');

axis([-0.5  1.5  -1.2 1.2]);

2. 模擬濾波器的設計:

clf;

Fp = 3000;%設定通帶截止頻率

Fs = 4000;%設定阻帶截止頻率

Wp = 2*pi*Fp; Ws = 2*pi*Fs;

[N, Wn] = buttord(Wp, Ws, 0.5, 30,'s');%生成巴特沃茲低通濾波器的階數和等效的低通濾波器的截止頻率

[b,a] = butter(N, Wn, 's');%生成巴特沃茲體通濾波器的分子和分母向量

wa = 0:(3*Ws)/511:3*Ws;

h = freqs(b,a,wa);%求濾波器的頻率響應

plot(wa/(2*pi), 20*log10(abs(h)));%繪製濾波器的增益響應

grid

xlabel('Frequency, Hz');ylabel('Gain, dB');

title('Gain response');

axis([0 3*Fs -60 5]);

  該濾波器的節數為N=16,3dB頻寬為:3223.5Hz.