plotk,y; grid; EXERCISE 3.3: Ideal Low-Pass Filtering Ta có hàm cửa sổ trong miền tần số chính là hàm sinx/x trong miền thời gian.Do đó công thức nhân chập trong bài ra chính là công thứ
Trang 1PROJECT 3: RECONSTRUCTION OF SIGNALS FROM SAMPLES
EXERCISE 3.1: Fitting a Sine Wave
Gỉa sử một tín hiệu x(t)=Acos(ωt+φ) ,ta đã biết các giá trị x(0),x(1),x(2).Dựa vào đồ thị ta có hệ 3 phương trình :
+
=
−
+
=
=
) 2 cos(
A 1
) cos(
A 1
Acos 2
φ ω
φ ω φ
Từ hệ phương trình trên ta có :
+
=
+
+
=
+
±
±
=
+
±
=
π π
φ
ω
π π
ω
π ω
π φ
2 2
3
2
2 A
2 arccos A
1 arccos
2 A
2 arccos
4 3
2 1
k k
k k
Nhận thấy hệ phương trình trên không phải luôn luôn giải được.Gỉa sử với A=1 ta
có 2=cos(φ) (vô lý)
Với A=2 thì hệ trên có vô số nghiệm.Ta đưa ra 2 nghiệm có dạng
(ω1=π/3, φ1=0) và (ω2=π/3+2π, φ2=0)
ta có với nghiệm thứ nhất :
xlabel('Nghiem 1'); grid;
t=0:0.01:2;
x1=2*cos((pi/3)*t); % ham 1 omega=(1/3)pi
plot(t,x1,'g');
Trang 2Với nghiệm thứ 2 :
xlabel('Nghiem 2'); grid;
t=0:0.01:2;
x2=2*cos((2*pi+pi/3)*t); % ham 2 omega=(2+1/3)pi plot(t,x2);
Trang 3EXERCISE 3.2: Linear and Polynomial Interpolation
A.Kết nối tín hiệu mẫu của đề ra bằng hàm plot.thời gian delta t =0.01s x=[0,1,2];
y=[2,1,-1];
plot(x,y);hold on;
stem(x,y);
Trang 4B.Nhân chập mẫu đã cho với một xung tam giác ,sử dụng đáp ứng xung (0.2,0.4,0.6,0.8,1.0,0.8,0.6,0.4,0.2),chèn 4 điểm 0 vào giữa các tín hiệu a=0:0.2:2
b=1-abs(a-1);
x=[0,0.2,0.4,0.6,0.8,1,1.2,1.4,1.6,1.8,2];
y=[2,0,0,0,0,1,0,0,0,0,-1];
conv(b,y);
plot(conv(b,y));grid;hold on;
stem(conv(b,y))
Trang 5Nội suy tuyến tính với giả thiết các mẫu tại t=-1 và t=3 bằng 0 x=-1:1:3;
y=[0 2 1 -1 0];
plot(x,y);
Trang 6Ta thấy 2 kết quả này là hoàn toàn giống nhau C.Từ 3 điểm đã cho,ta xác định một đa thức bậc 2 t=([0 1 2]);
x=([2 1 -1]);
p=polyfit(t,x,2);
k=-5:0.1:5;
y=p(1)*k.^2+p(2)*k+p(3);
Trang 7plot(k,y); grid;
EXERCISE 3.3: Ideal Low-Pass Filtering
Ta có hàm cửa sổ trong miền tần số chính là hàm sin(x)/x trong miền thời gian.Do
đó công thức nhân chập trong bài ra chính là công thức nhân chập trong miền thời gian giữa một tín hiệu x(tl) với tín hiệu của mạch lọc thông thấp lí tưởng để thu được tín hiểu khôi phục ,từ đó khôi phục lại tín hiệu gốc
Ta có hàm truyền đạt :
ezplot('sin(pi*(x)/(1/10))/(pi*(x)/(1/10))',[-2,2]),axis([-2 2 -1 1]);grid;
Trang 8đây chính là đồ thị của hàm sin(x)/x
cho 1l chạy tu -10 tới 10 với tín hiệu ban đầu là
a=sin(2*pi*t+pi/4)
Dùng công thức nhân chập của đề bài với fs=10Hz
hold on
ezplot('sin(2*pi*1*(-10)/10+pi/4)*sin(pi*(x 10*1/10)/(1/10))/(pi*(x 10*1/10)/ (1/10))+sin(2*pi*1*(-9)/10+pi/4)*sin(pi*(x 9*1/10)/(1/10))/(pi*(x 9*1/10)/
(1/10))+sin(2*pi*1*(-8)/10+pi/4)*sin(pi*(x 8*1/10)/(1/10))/(pi*(x 8*1/10)/
(1/10))+sin(2*pi*1*(-7)/10+pi/4)*sin(pi*(x 7*1/10)/(1/10))/(pi*(x 7*1/10)/
(1/10))+sin(2*pi*1*(-6)/10+pi/4)*sin(pi*(x 6*1/10)/(1/10))/(pi*(x 6*1/10)/
(1/10))+sin(2*pi*1*(-5)/10+pi/4)*sin(pi*(x 5*1/10)/(1/10))/(pi*(x 5*1/10)/
(1/10))+sin(2*pi*1*(-4)/10+pi/4)*sin(pi*(x 4*1/10)/(1/10))/(pi*(x 4*1/10)/
(1/10))+sin(2*pi*1*(-3)/10+pi/4)*sin(pi*(x 3*1/10)/(1/10))/(pi*(x 3*1/10)/
Trang 9(1/10))+sin(2*pi*1*(-2)/10+pi/4)*sin(pi*(x 2*1/10)/(1/10))/(pi*(x 2*1/10)/ (1/10))+sin(2*pi*1*(-1)/10+pi/4)*sin(pi*(x 1*1/10)/(1/10))/(pi*(x 1*1/10)/ (1/10))+sin(2*pi*1*(0)/10+pi/4)*sin(pi*(x-0*1/10)/(1/10))/(pi*(x-0*1/10)/(1/10)) +sin(2*pi*1*(1)/10+pi/4)*sin(pi*(x-1*1/10)/(1/10))/(pi*(x-1*1/10)/(1/10))
+sin(2*pi*1*(2)/10+pi/4)*sin(pi*(x-2*1/10)/(1/10))/(pi*(x-2*1/10)/(1/10))
+sin(2*pi*1*(3)/10+pi/4)*sin(pi*(x-3*1/10)/(1/10))/(pi*(x-3*1/10)/(1/10))
+sin(2*pi*1*(4)/10+pi/4)*sin(pi*(x-4*1/10)/(1/10))/(pi*(x-4*1/10)/(1/10))
+sin(2*pi*1*(5)/10+pi/4)*sin(pi*(x-5*1/10)/(1/10))/(pi*(x-5*1/10)/(1/10))
+sin(2*pi*1*(6)/10+pi/4)*sin(pi*(x-6*1/10)/(1/10))/(pi*(x-6*1/10)/(1/10))
+sin(2*pi*1*(7)/10+pi/4)*sin(pi*(x-7*1/10)/(1/10))/(pi*(x-7*1/10)/(1/10))
+sin(2*pi*1*(8)/10+pi/4)*sin(pi*(x-8*1/10)/(1/10))/(pi*(x-8*1/10)/(1/10))
+sin(2*pi*1*(9)/10+pi/4)*sin(pi*(x-9*1/10)/(1/10))/(pi*(x-9*1/10)/(1/10))
+sin(2*pi*1*(10)/10+pi/4)*sin(pi*(x-10*1/10)/(1/10))/(pi*(x-10*1/10)/(1/10))',[-1,1])
ta thu được tín hiệu khôi phục:
Trang 10B.Ta có tín hiệu đầu vào là một xung Durac,để tính tín hiệu đầu ra ta có thể thực hiện như sau: nhân chập trong miền thời gian hoặc nhân thường trong miền tần số
Trong miền tần số xung durac là một đường thẳng có tung độ là 1,do đó khi nhân thường trong miền thời gian giữa xung durac với một hàm cửa sổ thì chính là hàm của sổ đó,còn khi chuyển sang miền tần số thì nó chính là một hàm dạng sin(x)/x
Trang 11C.Từ 3 điểm được đưa ra trong bài 3.1 : x(0)=2;x(1)=1;x(2)=-1 và với tần số lẫy mẫu là f=1 Hz
ezplot('2*sin(pi*x)/(pi*x)+1*sin(pi*(x-1))/(pi*(x-1))+-1*sin(pi*(x-2))/(pi*(x-2))', [0,2])
Trang 12Ta nhận thấy tín hiệu sau khi khôi phục gần giống với tín hiệu khôi phục của
nghiêm 1 bài 3.1 với việc chọn tần số lẫy mẫu hợp lí (thỏa mãn định lí lấy mẫu shannon)
EXERCISE 3.4: Choice of Assumed Bandwith
Ta có với một bộ lọc thông thấp lí tưởng có tần số cắt là fB thì các tín hiệu có tần
số fmax=fB thì sẽ được bộ lọc cho qua hoàn toàn,nên tín hiệu được khôi phục hoàn toàn
t=-1:0.1:1;
nn=-42:0.1:42;
y=zeros(1,10);
for i=-10:9
y=[y, 1-abs(t), zeros(1,19)];
end
Trang 13size(y);
stem(nn,y);
plot(nn,y);axis([-42 42 -1 1]);grid;
xlabel('XUNG TAM GIAC')
sau khi biến đổi fourier ngược sang miền thời gian tín hiệu trở thành :
Tần số fB=1Hz
f=-1:0.01:1
y=1-abs(f);
a=ifft(y,202);
plot(a,f);