资源简介
用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代码
评论
共有 条评论