资源简介
基于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
相关资源
- Pattern Recognition and Machine Learning(高清
- MATLAB 编程 第二版 Stephen J. Chapman 著
- 均值滤波和FFT频谱分析Matlab代码
- 《MATLAB扩展编程》代码
- HDB3码、AMI码的MATLAB实现
- 3点GPS定位MATLAB仿真
- MATLAB数字信号处理85个实用案例精讲入
- matlab从入门到精通pdf94795
- 欧拉放大论文及matlab代码
- 跳一跳辅助_matlab版本
- 全面详解LTE MATLAB建模、仿真与实现
- MIMO-OFDM无线通信技术及MATLAB实现_孙锴
- MATLAB Programming for Engineers 4th - Chapman
- matlab 各种谱分析对比
- 分数阶chen混沌matlab程序
- 基于粒子群算法的非合作博弈的matl
- MATLAB车流仿真 包括跟驰、延误
- matlab空间桁架计算程序
- 基于MATLAB的图像特征点匹配和筛选
- DMA-TVP-FAVAR
- GPS信号的码捕获matlab代码.7z
- 一维光子晶体MATLAB仿真代码吸收率折
- newmark法源程序
- 传统关联成像、计算鬼成像matlab
- pri传统分选算法
- 摆动滚子推杆盘形凸轮设计
- 医学图像重建作业matlab源码
- Matlab实现混沌系统的控制
- 检测疲劳驾驶
- Matlab锁相环仿真-Phase Locked Loop.rar
评论
共有 条评论