下载此文档

matlab对语音信号加随机噪声及去噪程序.docx


文档分类:高等教育 | 页数:约3页 举报非法文档有奖
1/3
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/3 下载此文档
文档列表 文档介绍
%对语言信号做原始的时域波形分析和频谱分析
桌面\');
% sound(y,fs) % 回放语音信号
n=length(y) % 选取变换的点数
y_p=fft(y,n); % 对 n 点进行傅里叶变换到频域
f=fs*(0:n/2-1)/n; % 对应点的频率
figure(1)
subplot(2,1,1);
plot(y); %语音信号的时域波形图
title(' 原始语音信号采样后时域波形 ') ;
xlabel(' 时间轴 ')
ylabel(' 幅值 A')
subplot(2,1,2);
plot(f,abs(y_p(1:n/2))); %语音信号的频谱图
title(' 原始语音信号采样后频谱图 ');
xlabel(' 频率 Hz');
ylabel(' 频率幅值 ');
%对音频信号产生噪声
L=length(y) % 计算音频信号的长度
noise=*randn(L,2); %产生等长度的随机噪声信号 ( 这里的噪声的大小取决于随机函数的幅度倍数)
y_z=y+noise; %将两个信号叠加成一个新的信号 ——加噪声处理
%sound(y_z,fs)
%对加噪后的语音信号进行分析
n=length(y); %选取变换的点数
y_zp=fft(y_z,n); % 对 n 点进行傅里叶变换到频域
f=fs*(0:n/2-1)/n; % 对应点的频率
figure(2)
subplot(2,1,1);
plot(y_z); %加噪语音信号的时域波形图
title(' 加噪语音信号时域波形 ') ;
xlabel(' 时间轴 ')
ylabel(' 幅值 A')
subplot(2,1,2);
plot(f,abs(y_zp(1:n/2))); % 加噪语音信号的频谱图
title(' 加噪语音信号频谱图 ');
xlabel(' 频率 Hz');
ylabel(' 频率幅值 ');
对加噪的语音信号进行去噪程序如下:
fp=1500;fc=1700;As=100;Ap=1;
( 以上为低通滤波器的性能指标)
wc=2*pi*fc/fs; wp=2*pi*fp/fs;
wdel=wc-wp;
beta=*(As-);
N=ceil((As-8)/);
wn= kaiser(N+1,beta);
ws=(wp+wc)/2/pi;
b=fir1(N,ws,wn);
figure(3);
freqz(b,1);
(此前为低通滤波器设计阶段) ——接下来为去除噪声信号的程序 ——
x=fftfilt(b,y_z);
X=fft(x,n);
figure(4);
subplot(2,2,1);plot(f,abs(y_zp));
title(' 滤波前信号的频谱 ');
subplot(2,2,2);plot(f,abs(X));
title(' 滤波后信号频谱 ') ;
subplot(2,2,3);plot(y_z);
title(' 滤波前信号的波形 ')
subplot(2,2,4);plot(x);
title(' 滤波后信号的波形

matlab对语音信号加随机噪声及去噪程序 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数3
  • 收藏数0 收藏
  • 顶次数0
  • 上传人aisheng191
  • 文件大小22 KB
  • 时间2018-11-06
最近更新