matlab 建立主程序,matlabspectrogram主程序都有,老师让用给的程序做 爱问知识人...

%%%%%%%%%%%%%%%%%%%%%%%%%%%%声音去噪程序%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fs=44100;

[x,fs,bits]=wavread('file。wav'); %读取file。

wav音频文件

t=0:(size(x)-1);

x2=rand(1,length(x))'; %产生一与x长度一致的随机信号

y=x+x2;

%加入正弦噪声

t=0:(n-1);

Au=0。03;

d=[Au*sin(2*pi*500*t)]';

y=x+d;

wp=0。

25*pi;

ws=0。3*pi;

wdelta=ws-wp;

N=ceil(6。6*pi/wdelta); %取整

wn=(0。2+0。

3)*pi/2;

b=fir1(N,wn/pi,hamming(N+1)); %选择窗函数,并归一化截止频率

figure(1)

freqz(b,1,512)

f2=filter(bz,az,y)

figure(2)

subplot(2,1,1)

plot(t,y)

title('滤波前的时域波形');

subplot(2,1,2)

plot(t,f2);

title('滤波后的时域波形');

sound(f2); %播放滤波后的语音信号

F0=fft(f1,1024);

f=fs*(0:511)/1024;

figure(3)

y2=fft(y,1024);

subplot(2,1,1);

plot(f,abs(y2(1:512))); %画出滤波前的频谱图

title('滤波前的频谱')

xlabel('Hz');

ylabel('fuzhi');

subplot(2,1,2)

F1=plot(f,abs(F0(1:512))); %画出滤波后的频谱图

title('滤波后的频谱')

xlabel('Hz');

ylabel('fuzhi');

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%结束%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

imagesc画图函数用法:

imagesc(A): 将矩阵A中的元素数值按大小转化为不同颜色,并在坐标轴对应位置处以这种颜色染色

imagesc(x,y,A):x,y决定坐标范围,x,y应是两个二维向量,即x=[x1 x2],y=[y1 y2],matlab会在[x1,x2]*[y1,,y2]的范围内染色。

全部

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值