音频信号采集与传输.docx
《音频信号采集与传输.docx》由会员分享,可在线阅读,更多相关《音频信号采集与传输.docx(9页珍藏版)》请在冰豆网上搜索。
![音频信号采集与传输.docx](https://file1.bdocx.com/fileroot1/2022-10/18/d94b6120-c5bf-41f9-818d-901e23b1f8e3/d94b6120-c5bf-41f9-818d-901e23b1f8e31.gif)
音频信号采集与传输
《信号与系统》
——综合性设计性实验报告
标题:
音频信号采集与传输
组长:
学号
成员:
学号
学号
学号
实验时间:
2011年6月20日 星期一第1、2节
2011年6月27日 星期一第1、2节
实验地点:
电子信息楼617
实验课室:
机械与电气工程学院
电子信息工程系
信息工程专业
教师:
胡晓
1、课题设计流程 3
2、课题设计理论基础 3
2.1信号的采集 3
2.2频谱分析 3
2.3调制与解调 3
2.4高斯白噪声 4
2.5滤波 4
3、课题设计(程序) 4
4、课题设计效果(效果图) 6
5、课题设计总结 7
6、心得体会 7
1、课题设计流程
用matlab录制音频文件
频谱分析
调制
解调
滤波
扬声器
2、课题设计理论基础
2.1信号的采集
用matlab录制5秒mic声音,y=wavrecord(5*fs,fs,'int16'),其中采样率为44100,时长为5*fs,然后用wavplay(y,fs);语句播放出来,再写成以xinhao_test01命名的wav文件。
Y也可以直接用windows自带的录音工具进行录音,并直接读取[y,fs,bits]=wavread('xinhao_test01.wav'),然后对声音进行回放sound(y,fs),感觉效果。
2.2频谱分析
快速傅里叶变换原理:
在matlab的信号处理工具箱中函数FFT用于快速傅里叶变换,此次实验调用FFT函数的一种格式y=fft(x,N),其中x是序列,y是序列的FFT,N为正整数,函数执行N点的FFT,由于实验中fs=44100,所以取N=2^16,由于经过fft求得的y一般是复序列,所以用其幅值进行分析,可以用函数abs(y)进行计算复向量y的幅值。
由于用matlab自带的FFT快速傅里叶变换得到的幅频图的横坐标是从1到1/2fs,是从低频到高频,再由1/2fs到1,是从高频到低频,实验中用语句Y0(2^N/2+1:
2^N)=Y(1:
2^N/2),
Y0(1:
2^N/2)=Y(2^N/2+1:
2^N)(其中N=16)。
这样就可以将幅频图变成横坐标原点是低频,向坐标的正负端频率逐渐递增的形式,这是平常傅里叶变换得到的幅频图横坐标。
2.3调制与解调
调制与解调原理:
用9000Hz的载波频率对原信号进行调制,用y_mod=modulate(y,fc,fs,'am'),其中am是调频。
同样,最后还需将幅频图的横坐标转化成平常的傅里叶变换的横坐标,方法跟频谱分析一样。
在加入高斯白噪声后对信号进行解调,y1=demod(y_mod1,fc,fs,'am'),其中信号y_mod1是原信号调制并加入高斯白噪声后的信号,同样,也要对幅频图进行调整,方法同上。
2.4高斯白噪声
本次实验加入20db的高斯白噪声,用语句y_mod1=awgn(y_mod,20,'measured')。
其中y_mod是调制后的信号。
同样,也要对幅频图进行调整,方法同上。
2.5滤波
设计低通滤波器,[B,A]=butter(n,Wn,'ftype'),其中B,A分别是系统函数分子和分母表达式系数向量,n为滤波器阶数,Wn为滤波器的截止频率,ftype指定滤波器的类型,这次实验用到低通滤波器,所以用“low”.
3、课题设计(程序)
clearall;
closeall;
clc;
%录制语音信号
%fs=44100;
%bits=16;
%y=wavrecord(5*fs,fs,'int16'); %录制5秒mic声音
%wavplay(y,fs); %播放出来
%wavwrite(y,fs,bits,'xinghao_test');
%直接读取wav文件
[y,fs,bits]=wavread('xinhao_test01.wav');
%数据分析
N=16;
figure
(1)
subplot(221),plot(y);xlabel('t'),title('信号原始波形');
Y=fft(y,2^N);
Y0(2^N/2+1:
2^N)=Y(1:
2^N/2);
Y0(1:
2^N/2)=Y(2^N/2+1:
2^N);
ff=fs*(-(2^N/2-1):
2^N/2)/2^N;
subplot(223),plot(ff,abs(Y0));xlabel('Hz'),title('信号原始频率');
%信号调制
fc=9000; %载波频率
y_mod=modulate(y,fc,fs,'am'); %对原语音信号调制
subplot(222);plot(y_mod),xlabel('t'),title('调制后信号波形')
YY0=fft(y_mod,2^N);
Y1(2^N/2+1:
2^N)=YY0(1:
2^N/2);
Y1(1:
2^N/2)=YY0(2^N/2+1:
2^N);
subplot(224),plot(ff,abs(Y1));xlabel('Hz'),title('信号调制后频率');
%加高斯白噪声
y_mod1=awgn(y_mod,20,'measured');
figure
(2);
subplot(221);plot(y_mod1),xlabel('t'),title('加入高斯白噪声后波形')
YY1=fft(y_mod1,2^N);
Y2(2^N/2+1:
2^N)=YY1(1:
2^N/2);
Y2(1:
2^N/2)=YY1(2^N/2+1:
2^N);
subplot(223),plot(ff,abs(Y2));xlabel('Hz'),title('加入高斯白噪声后频率');
%信号解调
y1=demod(y_mod1,fc,fs,'am');
subplot(222);plot(y1),xlabel('t'),title('信号解调后波形')
YY2=fft(y1,2^N);
Y3(2^N/2+1:
2^N)=YY2(1:
2^N/2);
Y3(1:
2^N/2)=YY2(2^N/2+1:
2^N);
subplot(224),plot(ff,abs(Y3));xlabel('Hz'),title('信号解调后频率');
sound(y1,fs,bits);
fn=fs/2;
%设计低通滤波器
[B,A]=butter(10,5200/fn,'low');
h1=dfilt.df2(B,A);
h13=fvtool(h1,'FrequencyScale','Linear');
y1_fil=filter(B,A,y1);
subplot(211);
plot(y1_fil);
title('低通滤波后信号波形');
sound(y1_fil,fs);
Y1_fil=fft(y1_fil,2^N);
Y_fil(2^N/2+1:
2^N)=Y1_fil(1:
2^N/2);
Y_fil(1:
2^N/2)=Y1_fil(2^N/2+1:
2^N);
subplot(212);
plot(ff,abs(Y_fil));
title('低通滤波后信号频谱');
4、课题设计效果
调制分析:
分析上图,使用调幅调制,使得信号的主频率由原始信号的0Hz,移动到载波频率9000Hz,信号在各个频率上的幅度减半,这就是调幅调制。
加入噪音后的波形与原始波形有明显的分别,见开始部分;高斯白噪音的频谱是平均分布的,但在时域上时正态分布的。
从图可看出低通滤波器。
用fvtool直接绘制幅度-频率曲线和延时-频率曲线。
处理得到的波形与原始信号的波形基本相同,声音听起来只是比原来的声音音量小一点,音调低一点。
总的来说,这次实验很成功!
5、课题设计总结
通过本次实验,明白以下:
(1)借助声卡等设备,采集一段声音;
(2)对采样后的声音信号进行频谱分析;
(3)对采样后的声音信号进行调制,模仿通过高斯白噪声信道传输;
(4)对传输信号进行解调和重构,并进行频谱分析;
(5)通过重构信号的重放,分析效果,并分析原因
6、心得体会
陈廷杰:
负责信号的采集,频谱分析,编写实验报告
本次实验从着手到完成课题设计的要求,用了将近两周时间。
实验过程中,经历了一些问题,所以的问题不是一个人可以解决的。
但是经过小组成员的合作,将这些问题都解决,并完成课题设计的要求。
在信号采集方面先用了MATLAB进行录制,但录制结果出现了相当大的噪声(具体不知什么原因),因为会影响实验,所以最后用了Windows的录音工具进行录音,减少了噪声。
实验顺利进行
本次实验是基于MATLAB设计的,在之前的学习以及完成课后的作业的过程中,已经使用过MATLAB,对其有了一些基础的了解和认识。
通过这次练习是我进一步了解了信号的产生、采样及频谱分析的方法。
以及其中产生信号和绘制信号的基本命令和一些基础编程语言。
让我感受到只有在了解课本知识的前提下,才能更好的应用这个工具;并且熟练的应用MATLAB也加深了我对课程的理解,开阔我的思维。
这次设计使我了解了MATLAB的使用方法,学会分析滤波器的优劣和性能,提高了分析和动手实践能力。
同时我相信,进一步加强对MATLAB的学习对我今后的专业学习将会起到很大的帮助。
所以这次实验后也使我们更进一步地了解和掌握MATLAB的使用
林慧镔:
负责信号调制解调,高斯噪声。