matlab/简单的滤波程序

本文通过Matlab代码演示了如何使用快速傅立叶变换(FFT)进行信号处理,包括信号的频域分析、滤波及逆变换过程。首先生成了一个包含两个频率分量的复合正弦信号,并对其进行了FFT变换,随后通过对变换后的频谱进行滤波处理,最后再通过逆变换得到处理后的信号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 x_old =  1:100
y_old = sin(x_old)+sin(100*x_old)
subplot(1,4,1)
plot(x_old, y_old)

x_new = 1:200
y_old = double(y_old)
z_fft = fft(y_old,200)
z_fft = fftshift(z_fft)
subplot(1,4,2)
plot(x_new, z_fft)

z_fft(1:80) = 0
z_fft(120:200) = 0
subplot(1,4,3)
plot(x_new, z_fft)

z_fft = double(z_fft)
z_ifft = ifftshift(z_fft)
z_ifft = double(z_ifft)
y_new = ifft(z_ifft, 200)
for j=1:100
        y_2(j) = y_new(j)
 end
subplot(1,4,4)
plot(x_old, y_2) 

结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值