实验九 音频信号采集及处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
音频信号采集及处理程序代码及实验结果图:
[voice,fs]=audioread('notify.wav'); %声音读取
sound(voice,fs); %声音回放
n=length(voice); %计算长度
voice1=fft(voice,n); %快速傅里叶变换
figure(1); subplot(2,1,1); plot(voice); %绘出时域波
xlabel('t'); ylabel('amp'); %坐标名称
title('初始音频信号时域波形'); grid on;
subplot(2,1,2); plot(abs(fftshift(voice1))); %绘出原始音频信号频谱
title('初始音频信号频域波形');
xlabel('f'); ylabel('amp'); grid on;
t=0:1/fs:(n-1)/fs;
noise=0.05*sin(2*pi*100000*t'); %100kHz正弦波噪声
s=voice+noise; %加噪后的音频信号
pause; sound(s,fs); %播放加噪的语音
n=length(s);
S=fft(s,n); %计算频谱
figure(2); subplot(2,1,1);plot(s); %画出加噪之后的音频信号时域波形
title('加噪声后的音频信号时域波形');
xlabel('t'); ylabel('amp'); grid on;
subplot(2,1,2);plot(abs(fftshift(S))); %零频移到频谱中心后,绘制加噪之后的音频信号频谱
xlabel('f'); ylabel('amp');
title('加噪声后的音频信号频域波形'); grid on;
pause;
rp=2; rs=80;
Ft=8000; Fp=1000; Fs=1300;
wp=2*pi*Fp/Ft;
ws=2*pi*Fs/Ft; %求出待设计的模拟滤波器的边界频率
[n,wn]=buttord(wp,ws,rp,rs,'s'); %低通滤波器的阶数和截止频率[b,a]=butter(n,wn,'s'); %S域频率响应的参数即:滤波器的传输函数
[bz,az]=bilinear(b,a,0.5); %利用双线性变换实现频率响应S 域到Z域的变换
[h,w]=freqz(bz,az);
figure(3); plot(w*fs/(2*pi),abs(h)); %绘制IIR低通滤波器特性曲线title('IIR低通滤波器特性曲线'); grid on;
z=filter(bz,az,s); %滤波
pause; sound(z,fs); %回放滤波后的信号
Z=fft(z); %滤波后的信号频谱
figure(4); subplot(2,2,2); plot(z); %绘制低通滤波后的音频信号时域
波形
title('低通滤波后的音频信号时域波形');
xlabel('t'); ylabel('amp'); grid on;
subplot(2,2,1); plot(s); %绘制加噪声后的音频信号时域波形
title('加噪声后的音频信号时域波形');
xlabel('t'); ylabel('amp'); grid on;
subplot(2,2,3); plot(abs(fftshift(S))); %绘制加噪声后的音频信号频域波形
title('加噪声后的音频信号频域波形');
xlabel('f'); ylabel('amp'); grid on;
subplot(2,2,4); plot(abs(fftshift(Z))); %绘制低通滤波后的音频信号频域波形
title('低通滤波后的音频信号频域波形');
xlabel('f'); ylabel('amp'); grid on;