滤波器
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();%轴向的量程显示的定义
set(gca, 'XTickMode', 'manual', 'XTick', );%输入横坐标的分布模式
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();
set(gca, 'XTickMode', 'manual', 'XTick', );
title('细化10倍后的频率特性');
xlabel('频率');
ylabel('幅度值');
grid on;
这是一个滤波器的MATLAB程序.
回复 #1 diaoxiaofei 的帖子
请大家看看有没有什么问题
页:
[1]