|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
N=5120;
f=5120;
n=0:(N-1);
N=5120;
f=5120;
n=0:(N-1);
t=n/f;
x=sin(2*pi*50*t);%进行细分计算
X=fft(x);%取fft计算
f=f*(1:N)/N;%频率细分
subplot(2,1,1);%绘图的方式两幅图
plot(f,abs(X),'-');%频率绝对值得绘图
axis([0,115,0,3000]);%轴向的量程显示的定义
set(gca, 'XTickMode', 'manual', 'XTick', [0, 20,30,40,45,50,55,60,70,80,90,100,110,115]);%输入横坐标的分布模式
xlabel('Frequency');
ylabel('|F(k)|');
grid on;
f0=45;%移动的频率
h=exp(-j*2*pi*f0*t);
y=x.*h;%数字变频,把w=100点移动到原点
y1=resample(y,1,10);%重新采样,采样频率为fs/N
k1=0:1:511;
h1=exp((j*2*pi*f0*k1)/512);
y1=y1.*h1;%反移频,使得前后频率一致
y1=abs(fft(y1));%快速傅里叶变换
subplot(2,1,2);
plot(k1,y1);
axis([45,55,0,1000]);
set(gca, 'XTickMode', 'manual', 'XTick', [45,46,47,48,49,50,51,52,53,54,55]);
title('细化10倍后的频率特性');
xlabel('频率');
ylabel('幅度值');
grid on;
这是一个滤波器的MATLAB程序. |
|