资源简介

信号分析与处理 大作业:1 概述1.1 研究背景与意义1.2 研究目标 2 音频信号的采集与频谱分析2.1 音频信号的采集 2.2 音频信号的播放设置 3 数字滤波器的设计 3.1 低通滤波器设计 3.2 高通滤波器设计 3.3 带通滤波器设计 4 仿真结果分析 4.1 时域对比分析 4.2 频域对比分析 5 总结

资源截图

代码片段和文件信息

[xFs] = audioread(‘D:\北科大课程\信号分析与处理\信号分析处理大作业\程序\002.mp3‘);
%sound(xFs);           %播放采集到的语音信号
N = length(x);
t0 = linspace(0N/FsN);
n = 0 : N - 1;

figure(1);
subplot(211); 
plot(t0x);             %画出原始语音信号的时域波形图
title(‘原始音频信号时域波形图‘);
xlabel(‘时 间 t/s‘);
ylabel(‘幅 度 n‘);
subplot(212);
f = fft(xN);            %对原始信号进行快速傅立叶变换
plot(abs(n)abs(f));     %画出原始语音信号经过傅立叶变换后的频谱
title(‘原始音频信号幅频图‘);
xlabel(‘频 率 f/Hz‘);
ylabel(‘幅 度 n‘);

%FIR低通滤波器程序
fb = 290;fc = 300;As = 120;  %确定技术指标
wp = 2 * pi * fb / Fs;
ws = 2 * pi * fc / Fs;        %求归一化频率,其中Fs由语音信号提取函数audioread返回值得到
wo = ws - wp;           %求过渡带
beta = 0.1102 * (As - 0.87);  %求凯泽窗函数参数
N = ceil((As - 8) / 2.285 / wo);  %由过渡带决定N的值
wc = (wp + ws) / 2 / pi;
b = fir1(Nwckaiser(N + 1beta));
[Hww] = freqz(b1);
figure(2);
plot(w * Fs / 2 / pi 20 * log10(abs(Hw)));  %绘制频率响应曲线
grid;
xlabel(‘频 率f/Hz‘);
ylabel(‘H(f)‘);
title(‘FIR低通滤波器的幅频特性‘);

%FIR高通滤波器程序
fp = 6000; fs = 5900; As = 135;%确定技术指标
wp = 2 * pi * fp / Fs;
ws = 2 * pi * fs / Fs;        %求归一化频率,其中Fs由语音信号提取函数audioread返回值得到
wo = wp - ws;            %求过渡带
beta = 0.1102 * (As - 0.87);  %求凯泽窗函数参数
N = ceil((As - 8) / 2.285 / wo);  %由过渡带决定N的值
wc = (wp + ws) / 2 / pi;
b1 = fir1(Nwc‘high‘kaiser(N+1beta));
[Hww] = freqz(b11);
figure(3);
plot(w * Fs / 2 / pi 20 * log10(abs(Hw)));  %绘制频率响应曲线
grid;
xlabel(‘频 率f/Hz‘);
ylabel(‘H(f)‘);
title(‘FIR高通滤波器的幅频特性‘);

%FIR带通滤波器程序
fp1 = 980; fc1 = 1000; fp2 = 4200; fc2 = 4300; rs = 120;    %确定技术指标
wp1 = 2 * pi * fc1 / Fs;
ws1 = 2 * pi * fp1 / Fs;
wp2 = 2 * pi * fp2 / Fs;
ws2 = 2 * pi * fc2 / Fs;      %求归一化频率,其中Fs由语音信号提取函数audioread返回值得到
wo1 = wp1 - ws1;
wo2 = wp2 - ws2;
wo = max(wo1 wo2);                        %求过渡带
beta = 0.1102 * (rs - 0.87);                      %求凯泽窗函数参数
N = ceil((rs - 8) / 2.285 / wo);                     %由过渡带决定N的值
wn1 = (fp1 + fc1) / Fs;
wn2 = (fp2 + fc2) / Fs;
wn = [wn1wn2];
b2 = fir1(Nwn‘band‘kaiser(N + 1beta));
[Hww] = freqz(b21512Fs);
figure(4);
plot(w20 * log10(abs(Hw)));                  %绘制频率响应曲线
grid;
xlabel(‘频 率f/Hz‘);
ylabel(‘H(f)‘);
title(‘FIR带通滤波器的幅频特性‘);

figure(4);
y = filter(b1x);
subplot(211);
plot(t0x);
title(‘原始音频信号时域波形图‘);
xlabel(‘时 间 t/s‘);
ylabel(‘幅 度 n‘);
subplot(212);
plot(t0y);
title(‘低通滤波后音频信号时域波形图‘);
xlabel(‘时 间 t/s‘);
ylabel(‘幅 度 n‘);

figure(5);
y1 = filter(b11x);
y2 = filter(b21x);
subplot(211);
plot(t0y1);
title(‘高通滤波后音频信号时域波形图‘);
xlabel(‘时 间 t/s‘);
ylabel(‘幅 度 n‘);
subplot(212);
plot(t0y2);
title(‘带通滤波后音频信号时域波形图‘);
xlabel(‘时 间 t/s‘);
ylabel(‘幅 度 n‘);

figure(6);
N1 = length(x);
t1 = linspace(0N1/fsN1);
n1 = 0 : N1 - 1;
X = fft(xN1);            %对原始信号进行快速傅立叶变换
Y = fft(yN1);
subplot(211);
plot(abs(n1)abs(X));   %画出原始语音信号经过傅立叶变换后的频谱
title(‘原始音频信号幅频图‘);
xlabel(‘频 率 f/Hz‘);
ylabel(‘幅 度 n‘);
subplot(212);
plot(abs(n)abs(Y));   %画出原始语音信号经过傅立叶变换后的频谱
title(‘低通滤波后音频信号幅频图‘);
xlabel(‘频 率 f/Hz‘);
ylabel(‘幅 度 n‘

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     193051  2019-11-06 22:03  程序\002.mp3

     文件       4093  2019-11-07 08:19  程序\Xinhao_1.m

     文件      36763  2019-11-07 21:15  程序\低通.jpg

     文件      58018  2019-11-07 08:10  程序\低通滤波时域.jpg

     文件      34802  2019-11-07 08:11  程序\低通滤波频域对比.jpg

     文件     709748  2019-11-07 21:50  程序\信号大作业.pdf

     文件      47940  2019-11-07 08:30  程序\原始.jpg

     文件      53992  2019-11-07 08:19  程序\高通_带通.jpg

     文件      37704  2019-11-07 08:20  程序\高通_带通_频域.jpg

     目录          0  2020-11-02 19:09  程序

----------- ---------  ---------- -----  ----

              1176111                    10


评论

共有 条评论