数字信号处理实验报告

语音信号的数字滤波

一、实验目的:

1、掌握使用FFT 进行信号谱分析的方法

2、设计数字滤波器对指定的语音信号进行滤波处理

二、实验内容

设计数字滤波器滤除语音信号中的干扰(4 学时)

1、使用Matlab 的fft 函数对语音信号进行频谱分析,找出干扰信号的频谱;

2、设计数字滤波器滤除语音信号中的干扰分量,并进行播放对比。

三、实验原理

通过观察原语音信号的频谱,幅值特别大的地方即为噪声频谱分量,根据对称性,发现有四个频率的正弦波干扰,将它们分别滤掉即可。采用梳状滤波器,经过计算可知,梳状滤波器h[n]={1,A ,1}的频响|H(w)|=|A+2cos(w)|,由需要滤掉的频率分量的频响w, 即可得到A ,进而得到滤波器的系统函数h[n]。而由于是在离散频域内进行滤波,所以令w=(2k*pi/N)即可。

对原信号和四次滤波后的信号分别进行FFT 变换,可以得到它们的幅度相应。最后,将四次滤波后的声音信号输出。

四、matlab 代码

clc;clear;close all;

[audio_data,fs]=wavread('SunshineSquare.wav'); %读取未处理声音 sound(audio_data,fs);

N = length(audio_data);

K = 0:2/N:2*(N-1)/N; %K为频率采样点 %sound(audio_data,fs);

%进行一次FFT 变换

FFT_audio_data=fft(audio_data);

mag_FFT_audio_data = abs(FFT_audio_data);

%画图

figure(1)

%原信号时域

subplot(2,1,1);plot(audio_data);grid;

title('未滤波时原信号时域');xlabel('以1/fs为单位的时间');ylabel('采样值'); %FFT幅度相位

subplot(2,1,2);plot(K,mag_FFT_audio_data);grid;

title('原信号幅度');xlabel('以pi 为单位的频率');ylabel('幅度');

%构造h[n]={1,A ,1}的梳状滤波器,计算A=2cosW,妻子W 为要滤掉的频率 %由原信号频谱可知要分四次滤波,滤掉频响中幅度大的频率分量

%第一次滤波

a = [1,0,0,0];%y[n]的系数

[temp,k]=max(FFT_audio_data);

A1=-2*cos(2*pi*k/N);

h1=[1,A1,1];

audio_data_h1 = filter(h1,a,audio_data);

FFT_audio_data_h1=fft(audio_data_h1);

%第二次滤波

[temp1,k]=max(FFT_audio_data_h1);

A2=-2*cos(2*pi*k/N);

h2=[1,A2,1];

audio_data_h2 = filter(h2,a,audio_data_h1);

FFT_audio_data_h2=fft(audio_data_h2);

%第三次滤波

[temp2,k]=max(FFT_audio_data_h2);

A3=-2*cos(2*pi*k/N);

h3=[1,A3,1];

audio_data_h3 = filter(h3,a,audio_data_h2);

FFT_audio_data_h3=fft(audio_data_h3);

%第四次滤波

[temp3,k]=max(FFT_audio_data_h3);

A4=-2*cos(2*pi*k/N);

h4=[1,A4,1];

audio_data_h4 = filter(h4,a,audio_data_h3);

FFT_audio_data_h4=fft(audio_data_h4);

mag_FFT_audio_data_h1 = abs(FFT_audio_data_h1);

mag_FFT_audio_data_h2 =abs(FFT_audio_data_h2);

mag_FFT_audio_data_h3 =abs(FFT_audio_data_h3);

mag_FFT_audio_data_h4 =abs(FFT_audio_data_h4);

figure(2)

%每次滤波后的时域结果

subplot(2,2,1);plot(audio_data_h1);grid;

title('第一次滤波后');xlabel('以1/fs为单位的时间');ylabel('时域采样值');

subplot(2,2,2);plot(audio_data_h2);grid;

title('第二次滤波后');xlabel('以1/fs为单位的时间');ylabel('时域采样值');

subplot(2,2,3);plot(audio_data_h3);grid;

title('第三次滤波后');xlabel('以1/fs为单位的时间');ylabel('时域采样值'); subplot(2,2,4);plot(audio_data_h4);grid;

title('第四次滤波后');xlabel('以1/fs为单位的时间');ylabel('时域采样值');

%每次滤波后的频域结果

figure(3)

subplot(2,2,1);plot(K,mag_FFT_audio_data_h1);grid;

title('第一次滤波幅度');xlabel('以pi 为单位的频率');ylabel('幅度');

subplot(2,2,2);plot(K,mag_FFT_audio_data_h2);grid;

title('第二次滤波幅度');xlabel('以pi 为单位的频率');ylabel('幅度');

subplot(2,2,3);plot(K,mag_FFT_audio_data_h3);grid;

title('第三次滤波幅度');xlabel('以pi 为单位的频率');ylabel('幅度');

subplot(2,2,4);plot(K,mag_FFT_audio_data_h4);grid;

title('第四次滤波幅度');xlabel('以pi 为单位的频率');ylabel('幅度');

%输出音乐文件

wavwrite(audio_data_h4,fs,'SunshineSquare_LG.wav');

五、实验结果

原信号的时域和频域图

滤波后的时域图

滤波后的频响

六、总结

通过这次实验,对数字信号的频谱分析和滤波的含义有了更深的了解,以及更加形象具体的认识。一开始遇到的困难是不知道如何寻找噪音的频率,后来发现频响中幅度大的点对应的w 即为噪音频率。

语音信号的数字滤波

一、实验目的:

1、掌握使用FFT 进行信号谱分析的方法

2、设计数字滤波器对指定的语音信号进行滤波处理

二、实验内容

设计数字滤波器滤除语音信号中的干扰(4 学时)

1、使用Matlab 的fft 函数对语音信号进行频谱分析,找出干扰信号的频谱;

2、设计数字滤波器滤除语音信号中的干扰分量,并进行播放对比。

三、实验原理

通过观察原语音信号的频谱,幅值特别大的地方即为噪声频谱分量,根据对称性,发现有四个频率的正弦波干扰,将它们分别滤掉即可。采用梳状滤波器,经过计算可知,梳状滤波器h[n]={1,A ,1}的频响|H(w)|=|A+2cos(w)|,由需要滤掉的频率分量的频响w, 即可得到A ,进而得到滤波器的系统函数h[n]。而由于是在离散频域内进行滤波,所以令w=(2k*pi/N)即可。

对原信号和四次滤波后的信号分别进行FFT 变换,可以得到它们的幅度相应。最后,将四次滤波后的声音信号输出。

四、matlab 代码

clc;clear;close all;

[audio_data,fs]=wavread('SunshineSquare.wav'); %读取未处理声音 sound(audio_data,fs);

N = length(audio_data);

K = 0:2/N:2*(N-1)/N; %K为频率采样点 %sound(audio_data,fs);

%进行一次FFT 变换

FFT_audio_data=fft(audio_data);

mag_FFT_audio_data = abs(FFT_audio_data);

%画图

figure(1)

%原信号时域

subplot(2,1,1);plot(audio_data);grid;

title('未滤波时原信号时域');xlabel('以1/fs为单位的时间');ylabel('采样值'); %FFT幅度相位

subplot(2,1,2);plot(K,mag_FFT_audio_data);grid;

title('原信号幅度');xlabel('以pi 为单位的频率');ylabel('幅度');

%构造h[n]={1,A ,1}的梳状滤波器,计算A=2cosW,妻子W 为要滤掉的频率 %由原信号频谱可知要分四次滤波,滤掉频响中幅度大的频率分量

%第一次滤波

a = [1,0,0,0];%y[n]的系数

[temp,k]=max(FFT_audio_data);

A1=-2*cos(2*pi*k/N);

h1=[1,A1,1];

audio_data_h1 = filter(h1,a,audio_data);

FFT_audio_data_h1=fft(audio_data_h1);

%第二次滤波

[temp1,k]=max(FFT_audio_data_h1);

A2=-2*cos(2*pi*k/N);

h2=[1,A2,1];

audio_data_h2 = filter(h2,a,audio_data_h1);

FFT_audio_data_h2=fft(audio_data_h2);

%第三次滤波

[temp2,k]=max(FFT_audio_data_h2);

A3=-2*cos(2*pi*k/N);

h3=[1,A3,1];

audio_data_h3 = filter(h3,a,audio_data_h2);

FFT_audio_data_h3=fft(audio_data_h3);

%第四次滤波

[temp3,k]=max(FFT_audio_data_h3);

A4=-2*cos(2*pi*k/N);

h4=[1,A4,1];

audio_data_h4 = filter(h4,a,audio_data_h3);

FFT_audio_data_h4=fft(audio_data_h4);

mag_FFT_audio_data_h1 = abs(FFT_audio_data_h1);

mag_FFT_audio_data_h2 =abs(FFT_audio_data_h2);

mag_FFT_audio_data_h3 =abs(FFT_audio_data_h3);

mag_FFT_audio_data_h4 =abs(FFT_audio_data_h4);

figure(2)

%每次滤波后的时域结果

subplot(2,2,1);plot(audio_data_h1);grid;

title('第一次滤波后');xlabel('以1/fs为单位的时间');ylabel('时域采样值');

subplot(2,2,2);plot(audio_data_h2);grid;

title('第二次滤波后');xlabel('以1/fs为单位的时间');ylabel('时域采样值');

subplot(2,2,3);plot(audio_data_h3);grid;

title('第三次滤波后');xlabel('以1/fs为单位的时间');ylabel('时域采样值'); subplot(2,2,4);plot(audio_data_h4);grid;

title('第四次滤波后');xlabel('以1/fs为单位的时间');ylabel('时域采样值');

%每次滤波后的频域结果

figure(3)

subplot(2,2,1);plot(K,mag_FFT_audio_data_h1);grid;

title('第一次滤波幅度');xlabel('以pi 为单位的频率');ylabel('幅度');

subplot(2,2,2);plot(K,mag_FFT_audio_data_h2);grid;

title('第二次滤波幅度');xlabel('以pi 为单位的频率');ylabel('幅度');

subplot(2,2,3);plot(K,mag_FFT_audio_data_h3);grid;

title('第三次滤波幅度');xlabel('以pi 为单位的频率');ylabel('幅度');

subplot(2,2,4);plot(K,mag_FFT_audio_data_h4);grid;

title('第四次滤波幅度');xlabel('以pi 为单位的频率');ylabel('幅度');

%输出音乐文件

wavwrite(audio_data_h4,fs,'SunshineSquare_LG.wav');

五、实验结果

原信号的时域和频域图

滤波后的时域图

滤波后的频响

六、总结

通过这次实验,对数字信号的频谱分析和滤波的含义有了更深的了解,以及更加形象具体的认识。一开始遇到的困难是不知道如何寻找噪音的频率,后来发现频响中幅度大的点对应的w 即为噪音频率。


相关文章

  • 数字电路指导书
  • 篇一:数电实验指导书 数 字 电 路 实 验 指 导 书 开封大学机电工程学院 目录 第一部分实验基础知识 一实验的基本过程-----------------------------------------3 二实验操作规范和故障检查方法- ...查看


  • 软件无线电技术实验报告_实验三
  • 电 子 科 技 大 学 实 验 报 告 学生姓名:李志 学 号:[1**********]23 指导教师:沈莹 邮箱:[email protected] 一.实验室名称:通信信号处理及传输实验室 二.实验项目名称: 数字上下变频 三.实验原理 ...查看


  • 数字信号源实验报告
  • 实验一 数字信号源实验 一. 实验目的 1.了解单极性码.双极性码.归零码.不归零码等基带信号波形特点. 2.掌握集中插入帧同步码时分复用信号的帧结构特点. 3.掌握数字信号源电路组成原理. 二. 实验内容 1.用示波器观察单极性非归零码( ...查看


  • ASK调制及解调实验报告
  • 实验三 ASK调制及解调实验 一.实验目的 1. 掌握用键控法产生ASK信号的方法. 2. 掌握ASK非相干解调的原理. 二.实验器材 1. 主控&信号源.9号模块各一块 2. 双踪示波器一台 3. 连接线若干 三.实验原理 1.实 ...查看


  • 实验十二 信号卷积实验报告(有数据)
  • 实验十二 信号卷积实验 一.实验目的 1.理解卷积的概念及物理意义. 2. 通过实验的方法加深对卷积运算的图解方法及结果的理解. 二.实验仪器 1.双踪示波器 1台 2.信号源及频率计模块S2 1块 3.数字信号处理模块S4 1块 三.实验 ...查看


  • 译码器实验报告
  • 课程编号: 深 圳 大 学 实 验 报 告 课程名称: 数字电路 实验名称: 译码器 学 院: 信息工程学院 指导教师: 刘静 报告人: 李金梁 组号: 03 学号: 2013130025 实验地点: n102 实验时间: 2014年 10 ...查看


  • 光纤通信实验报告 1
  • 光纤通信技术试验报告 学院 : 专业: 班级: 学号: 姓名: 实验一⑴ 半导体激光器P-I特性测试实验 一.实验目的 ⒈ 学习半导体激光器发光原理和光纤通信中激光光源工作原理 ⒉ 了解半导体激光器平均输出光功率与注入驱动电流的关系 ⒊ 掌 ...查看


  • [电子技术基础综合实验
  • <电子技术基础综合 实验(Ⅰ) > 实验资料 电子实训中心 2002 年 9 月 一.本课程设置目的 模拟电子技术是各理工科院校学生必修科目, 对培养学生理论联系实际的能力起着重要 的作用.根据教育部最新制定的<高职高专教 ...查看


  • 数字电子技术实验指导
  • <数字电子技术基础> 实验指导书 广东海洋大学信息学院 二0一五年二月 目录 实验一 TTL 集成与非门的逻辑功能与参数测试 ......................... 3 实验二 74LS138译码器逻辑功能测试及应用 ...查看


  • 频率测量及其误差分析实验报告
  • 频率测量及其误差分析 一.实验目的 1 掌握数字式频率计的工作原理: 2 熟悉并掌握各种频率测量方法: 3 理解频率测量误差的成因和减小测量误差的方法. 二.实验内容 1用示波器测量信号频率,分析测量误差: 2用虚拟频率计测量频率. 三.实 ...查看


热门内容