matlab滤除100hz,求助,带阻滤波器滤除声音中100Hz噪音的问题

使用MATLAB的巴特沃斯带阻滤波器尝试滤除100Hz正弦噪声,但效果不理想。问题可能在于滤波器参数设置或FFT操作。代码包括信号生成、FFT分析及滤波器设计与应用。
摘要由CSDN通过智能技术生成

用巴特沃兹带阻滤波器给一个加了100Hz的正弦噪音进行特定频率滤波。为什么已经调节到了噪音频率,但是就是不能用呢?求大神

代码如下:

clear;

[x,fs]=audioread('qinshixiang.wav');

%sound(x,fs);

N=length(x);

n=1:N;

c=10*sin(2*pi*100*n./fs); %0.1pi0.2pi=11000

x1=x'+c;   %加入噪音

%sound(x1,fs);

subplot(2,2,1);stem(n,x);

title('原始信号');xlabel('n')

X=fft(x);magX=abs(X(1:(N+1)/2+1));

k=0:1:(N+1)/2;w=2*pi/N*k;

subplot(2,2,2);stem(w/pi,magX);title('原始信号幅频')

subplot(2,2,3);stem(n,x1'); %怀疑原程序没有矩阵倒过来

title('加入噪音的信号');xlabel('n');

X1=fft(x1');magX1=abs(X1(1:(N+1)/2+1)); %这里fft参数怀疑也没倒过来

subplot(2,2,4);stem(w/pi,magX1);title('加入噪声后信号幅频');xlabel('以pi为单位的频谱');

%带阻滤波器设计

wp=2*pi*[0.00150,0.002

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值