大家好,又见面了,我是你们的朋友全栈君。
试验一语音信号处理
语音信号处理综合运用了数字信号处理的理论知识,对信号进行计算及频谱分析,设计滤波器,并对含噪信号进行滤波。
一,具体分为以下步骤:
(1)语音信号的采集:利用Windows下的录音机,录制一段话音。然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,播放语音信号,并绘制原始语音信号;
(2)对原始信号加入噪声:对原始语音信号加入
s=0.05*sin(2*pi*f*Ts*n)
的噪声,采样后可知Fs ,选择f = 2500,播放加入噪声信号的语音信号,并绘制噪声信号和含噪语音信号;
(3)频谱分析:分别对原始语音信号,噪声信号和含噪声的语音信号进行频谱分析,并绘出各频谱图;
(4)设计滤波器:计算滤波器的性能指标,设计滤波器,绘制滤波器的特性曲线;
(5)滤波器滤波:用自己设计的滤波器对采集的信号进行滤波,得出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化,并回放语音信号,感觉滤波前后的声音有变化。
(6) 对原始信号进行整数倍抽取,比较抽取前后的频谱图
(7)对原始信号进行整数倍内插,比较原始信号频谱,内插零值时的频谱和滤波后的频谱图。
二,源程序:
[x,fs,bits]=wavread(‘he.wav’);
N=length(x);%测定语音信号长度
f=2500;
x=x’;%对语音信号进行转置,使N行1列矩阵变为1行N列矩阵
n=0:1/fs:(N-1)/fs;
s=0.05*sin(2*pi*f*n);%噪声信号
y=x+s;%信号加噪声
f1=0:fs/N:fs*(N-1)/N;%横坐标,f1为频率
x1=fft(x,N);
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/141396.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...