资源简介
基于matlab语音信号的频谱分析,利用添加不同噪声经过滤波再还原出来。
代码片段和文件信息
clear
[yfs]=audioread(‘fade.wav‘);%读取音乐信号
y1=y(:1);%取单列
N=length(y1);%求信号长度
Y=fft(y1N);%傅里叶变换
Y1=fftshift(abs(Y));
t=(0:(N-1))/fs;%时间
f=0:fs/N:fs*(N-1)/N;%频率
f1=f-fs/2;
%w=2*f1/fs;%归一化
%原信号时域波形和频谱图
figure(1);
subplot(211);
plot(ty1);
xlabel(‘时间‘);
ylabel(‘幅度‘);
title(‘原信号时域波形‘);
subplot(212);
plot(f1abs(Y1));
%axis([-2500 2500 0 2000]);
%axis([-2000 2000 0 400]);
xlabel(‘频率‘);
ylabel(‘幅度‘);
title(‘原信号频谱图‘);
%加三余弦混合噪声
A0=0.05;%噪声幅度
d1=A0*cos(2*pi*5000*t);%5kHz的余弦噪音
d2=A0*cos(2*pi*8000*t);%8kHz的余弦噪音
d3=A0*cos(2*pi*10000*t);%10kHz的余弦噪音
x1=d1+d2+d3;%噪声叠加
X1=fft(x1);%噪声傅里叶变换
y2=y1+(x1)‘;%加三余弦混合噪声后信号
Y2=fft(y2);%加噪信号傅里叶变换
Y3=fftshift(abs(Y2));
figure(2);
subplot(311);
%axis([-10000 10000 0 400]);
plot(f1abs(X1));
xlabel(‘频率‘);
ylabel(‘幅度‘);
title(‘三余弦噪声频谱‘);
subplot(312);
plot(ty2);
xlabel(‘时间t‘);
ylabel(‘幅度‘);
title(‘加三余弦噪声信号时域波形‘);
subplot(313);
plot(f1abs(Y3));
axis([-10000 10000 0 400]);
xlabel(‘频率‘);
ylabel(‘幅度‘);
title(‘加三余弦噪声信号频谱图‘);
%加随机白噪声
x2=0.5*randn(N1);%噪声
X2=fft(x2);%噪声傅里叶变换
%y3=y1+x2;%加随机噪声后信号
%Y4=fft(x2);%加噪信号傅里叶变换
%Y5=fftshift(abs(Y4));
figure(3)
plot(f1abs(X2));
xlabel(‘频率‘);
ylabel(‘幅度‘);
title(‘随机白噪声频谱图‘);
%白噪声通过高通滤波器
wp2=0.2;wr2=0.9;Rp2=1.5;Rr2=30;
[n2Wn2]=buttord(wp2wr2Rp2Rr2);
[B2A2]=butter(n2Wn2‘high‘);
[Hff]=freqz(B2A2fsfs);
%figure
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论