PROJECT 2: FREQUENCY –DOMAIN VIEW OF SAMPLINGEXERCISE 2.1: Signal Generation A.Khởi tạo một tín hiệu a... C.Vẽ đồ thị của biến đổi Fourier :% xa: the "analog" signal % dt: the sampling
Trang 1PROJECT 2: FREQUENCY –DOMAIN VIEW OF SAMPLING
EXERCISE 2.1: Signal Generation
A.Khởi tạo một tín hiệu
a ,khởi tạo tín hiệu mô phỏng sóng liên tục :
Theo đề bài,vì fsim=80kHz nên nếu lấy thời gian T là 1/80 s ta sẽ có được từ 900- 1000 mẫu
với fo tùy ý.Để thuận lới cho việc tính toán ta chọn fo=80Hz
B ,lấy mẫu tín hiệu
t=0:1/80000:1/80
x=cos(2*pi*80*t+pi/4);
plot(t,x);
Đồ thị trên Matlab:
Trang 2C.Vẽ đồ thị của biến đổi Fourier :
% xa: the "analog" signal
% dt: the sampling interval in seconds for the simulated analog signal xa
Trang 4EXERCISE 2.2: A/D Conversion
A,Lấy mẫu tín hiệu với fs=8 kHzt=0:1/8000:1/80;
x=cos(2*pi*80*t+pi/4);
stem(t,x);
Đồ thị trên Matlab:
Trang 5B.Biến đổi DTFT của tín hiệu rời rạc :
Khởi tạo hàm function:
function [H,W] = dtft( h, N )
%DTFT calculate DTFT at N equally spaced frequencies
% usage: H = dtft( h, N )
% h: finite-length input vector, whose length is L
% N: number of frequencies for evaluation over [-pi,pi)
% ==> constraint: N >= L
Trang 7Đồ thị của biến đổi:
format compact, subplot(111)
subplot(211), plot( W/2/pi, abs(X) ); grid, title('MAGNITUDE RESPONSE')
xlabel('NORMALIZED FREQUENCY'), ylabel('| H(w) |')
subplot(212), plot( W/2/pi, 180/pi*angle(X) ); grid
xlabel('NORMALIZED FREQUENCY'), ylabel('DEGREES')
title('PHASE RESPONSE')
Trang 8EXERCISE 2.3: Design a Reconstruction Filter:
Theo bài ra vì fs/fsim=o.1 nên tần số cắt fcut=0.1Suy ra hàm cheby2 tạo ra 1 bộ lọc
[b,a]=cheby2(9,60,0.1);
Đồ thị đáp ứng pha và đáp ứng tần số :
freqz(b,a);
Trang 9EXERCISE 2.4: D/A Conversion
A.Do số điểm 0 thêm vào mỗi xâu phải thỏa mãn tỉ só fsim/fs,mà theo đề ra fsim/fs=10.Do đó số điểm 0 thêm vào mỗi xâu sẽ là 10.ta được đồ thị x^(t)
Trang 10Với tín hiệu ở Exercise 2.1 ta có :
Khi thêm 10 điểm 0 vào mẫu,ta được đồ thị x^(t)t=0:1/80000:1/80;
Trang 11Tái tạo lại tín hiệu khi đưa qua bộ lọc cheby2 :t=0:1/80000:1/80;
Trang 14y=[1;zeros(10,1)] * x;y=y(:);
nn=0:1110;
plot(nn,y);
[b,a]=cheby2(9,60,0.1);t=0:1/8000:1/80
x=cos(2*pi*80*t+pi/4)
s = filter(b,a,y);
plot(nn,s)
Trang 15B.Với fsim=8 kHz ta có tín hiệu đầu ra sau khi biển đồi Fourier :format compact, subplot(111)
Trang 16subplot(212), plot( W/2/pi, 180/pi*angle(X) ); grid
xlabel('NORMALIZED FREQUENCY'), ylabel('DEGREES')
title('PHASE RESPONSE')
Trang 17Với fsim=80 kHz ta có tín hiệu đầu ra sau khi biển đồi Fourier :format compact, subplot(111)
Trang 18s = filter(b,a,y);
[X,W] = dtft( y,11011);
subplot(211), plot( W/2/pi, abs(X) ); grid, title('MAGNITUDE RESPONSE')xlabel('NORMALIZED FREQUENCY'), ylabel('| H(w) |')
subplot(212), plot( W/2/pi, 180/pi*angle(X) ); grid
xlabel('NORMALIZED FREQUENCY'), ylabel('DEGREES')
title('PHASE RESPONSE')
Trang 20EXERCISE 2.5: Test for Aliasing
Nfft = 2.^ceil(log2(L)); % Choose the nearest Power of 2
Xa = fft(x,Nfft);range = 0:(Nfft/4); % show frequencies up to 1/4
Trang 22Với tần số lấy mẫu fs= 100 kHz và tần số tín hiệu đầu vào fo= 7 kHztest (100000,7000);
Trang 23Với tần số lấy mẫu fs= 100 kHz và tần số tín hiệu đầu vào fo= 9 kHztest (100000,9000);
Trang 24
Với tần số lấy mẫu fs= 100 kHz và tần số tín hiệu đầu vào fo= 10 kHztest (100000,10000);
Trang 25Với tần số lấy mẫu fs= 100 kHz và tần số tín hiệu đầu vào fo= 15 kHztest (100000,15000);
Trang 26subplot(2,2,2); stem(t,x,'g');xlabel('x[n]');
Trang 27y=[1;zeros(10,1)] * x;y=y(:);
nn=0:1110;
subplot(2,2,3); plot(nn,y) ;xlabel('x*(t)');
[b,a]=cheby2(9,60,0.1);
s = filter(b,a,y);
subplot(2,2,4); plot(nn,s);xlabel('xr(t)');
testc(8000,80)
Trang 28D Tạo hàm function
Trang 29function testchirp(f1,muy,fs)
t=0:1/fs:1/f1;
x=cos(2*pi*(muy*t.^2/2+f1*t)+pi/4);subplot(2,2,1); plot(t,x)