Tải bản đầy đủ (.docx) (14 trang)

PROJECT 3: RECONSTRUCTION OF SIGNALS FROM SAMPLES

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (801.29 KB, 14 trang )

PROJECT 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 = Acosφ

1 = A cos(ω + φ )
− 1 = A cos(2ω + φ )


Từ hệ phương trình trên ta có :

2
φ = ± arccos + k1 2π
A


1
2
ω = ± arccos ± arccos + k 2 2π
A
A

ω = π + k 3 2π

3ω + 2φ = π + k 4 2π

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');


Vớ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);


EXERCISE 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);


B.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))


Nộ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);


Ta 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);


plot(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;


đâ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)/


(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:



B.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


C.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])


Ta 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


y=[y,1-abs(t),zeros(1,10)];

size(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);




×