資源簡介
用bessel插值法實現數字下變頻的matlab程序

代碼片段和文件信息
clear?all;
close?all;
fc=50*10^3;
fz=30*10^6;
fs=40*10^6;
t=[0:(2*pi*fc/fs):10*2*pi];
m=0;
n=0;
x=sin(t);
for?i=1:length(t)
????y(i)=x(i)*cos(2*pi*fz/fs*i+pi/3);%輸入信號
end;
Y=fftshift(fft(y));
delta1=fs/(length(Y)-1);
y_axis=[-fs/2:delta1:fs/2];
figure(1);
plot(y_axisabs(Y));
xlabel(‘頻率/Hz‘)ylabel(‘幅度‘)
axis([-fs?fs?0?3000])
figure(2);
plot(t/(2*pi*fc)y);%原信號;
xlabel(‘時間/s‘)ylabel(‘幅度‘);
axis([0?2e-4?-1?1])
%T=[0:(4*pi*fc/fs):10*2*pi];
for?i=1:(length(t)/2)
????n=n+1;
????m=m+1;
????I(2*i)=y(2*i)*(-1)^i;
????f1(n)=I(2*i);
????Q(2*i+1)=y(2*i+1)*(-1)^(i+1);
????f2(m)=Q(2*i+1);
end
T=[0:10*2*pi/(length(t)/2-1):10*2*pi];
F1=fftshift(fft(f1));
delta=fs/(length(F1)-1);
x_axis=[-fs/2:delta:fs/2];
figure(3);
plot(x_axisabs(F1));
axis([-fs?fs?0?1200]);
xlabel(‘頻率/Hz‘)ylabel(‘幅度‘)
figure(4)
%axis([0?60?0?1])
plot(T/(pi*fc*4)f1)
xlabel(‘時間/s‘)ylabel(‘幅度‘)
axis([0?1e-4?-0.6?0.6]);
F2=fftshift(fft(f2));
delta=fs/(length(F2)-1);
x_axis=[-fs/2:delta:fs/2];
figure(10);
plot(x_axisabs(F2));
axis([-fs?fs?0?2000]);
xlabel(‘頻率/Hz‘)ylabel(‘幅度‘)
figure(11)
plot(T/(4*pi*fc)f2);
xlabel(‘時間/s‘)ylabel(‘幅度‘)
axis([0?1e-4?-1?1]);
for?i=2:((length(t)/2)-2)
????I(2*i+1)=1/2*(I(2*i)+I(2*i+2))+1/16*(I(2*i)+I(2*i+2))-1/16*(I(2*i-2)+I(2*i+4));
end
figure(5)
plot(I);
xlabel(‘時間/s‘)ylabel(‘幅度‘);
for?i=2:((length(t)/2)-2)
????Q(2*i)=1/2*(Q(2*i-1)+Q(2*i+1))+1/16*(Q(2*i-1)+Q(2*i+1))-1/16*(Q(2*i-3)+Q(2*i+3));
end
figure(6)
plot(t/(2*pi*fc)Q);
xlabel(‘時間/s‘)ylabel(‘幅度‘)
axis([0?2e-4?-1?1])
I2=fftshift(fft(I));
delta=fs/(length(I2)-1);
x_axis=[-fs/2:delta:fs/2];
figure(7);
plot(x_axisabs(I2));
xlabel(‘頻率/Hz‘)ylabel(‘幅度‘)
Q2=fftshift(fft(Q));
delta=fs/(length(Q2)-1);
x_axis=[-fs/2:delta:fs/2];
figure(8);
plot(x_axisabs(Q2));
xlabel(‘頻率/Hz‘)ylabel(‘幅度‘)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????1884??2020-03-20?23:05??bessel插值法的數字下變頻.m
- 上一篇:紅綠燈控制電路multisim模擬
- 下一篇:層次聚類matlab代碼
評論
共有 條評論