音频信号采集与传输

发布时间:2011-10-10 23:19:04   来源:文档文库   
字号:

信号与系统

——综合性设计性实验报告

标题: 音频信号采集与传输

组长: 学号

成员: 学号

学号

学号

实验时间:2011620 星期一 12

2011627 星期一 12

实验地点:电子信息楼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录制5mic声音,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是序列的FFTN为正整数,函数执行N点的FFT,由于实验中fs=44100,所以取N=2^16,由于经过fft求得的y一般是复序列,所以用其幅值进行分析,可以用函数abs(y)进行计算复向量y的幅值。由于用matlab自带的FFT快速傅里叶变换得到的幅频图的横坐标是从11/2fs,是从低频到高频,再由1/2fs1,是从高频到低频,实验中用语句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'),其中BA分别是系统函数分子和分母表达式系数向量,n为滤波器阶数,Wn为滤波器的截止频率,ftype指定滤波器的类型,这次实验用到低通滤波器,所以用“low.

3、课题设计(程序)

clear all;

close all;

clc ;

%录制语音信号

% fs = 44100;

% bits=16;

% y = wavrecord(5*fs,fs,'int16'); %录制5mic声音

% 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的使用

林慧镔:负责信号调制解调,高斯噪声。

在信号采集时,本来想使用matlab自带的函数wavrecord来录音,并且使用wavplaywavwrite回放和写在一个wav文件,但是听到的声音,有杂音,质量不好。因此还是使用window的自带录音机,并保存为采样率44100Hz,量化比特数为16bitwav文件。在调制过程中,考虑到信号的最大效频率为22050Hz,信号频率为0Hz—2500Hz左右,因此在邮箱的范围内事的调制后傅立叶分析的幅頻图像更好观察,所以采用了9000Hz的载波频率。结合实际情况以及现在所学知识,调幅调制是有较高操作性和对后面的滤波有较好的可操作性和分析性,因此采用9000Hz调幅调制。在接下来的傅立叶幅頻图中,明显的看到信号的中心频率移到的9000Hz上面。加入高斯白噪声阶段,加入了20dB的高斯白噪声。解调后,播放的声音有明显的电流声,这就是在模拟传输信道的过程中加入20dB的高斯白噪声,因此得知调制、加入高斯白噪声、解调3个过程都能够顺利完成。

沈永盛:负责设计低通滤波器

本次实验负责最后的一部分,也是难度比较大的一部分:设计数字滤波器。这方面的知识以前根本没涉猎过,所以弄起来比较迷茫,许多选项都不懂如何选择,是低通、还是带通;用巴特沃斯,还是用且切比雪夫;截止频率如何定等等一系列问题。虽然问题很多,但我还是没放弃,坚持下来,跟组员讨论,老师请教,上网找资料,终于把滤波器设计出来,很辛苦也很开心,我成功了,我们组也完成实验任务。通过这次实验,我觉得自己解决问题的能力提高了很多,团队合作的意识也增强不少,收获很大。感谢组员同伴的支持,感谢胡晓老师孜孜不倦的教诲,thanks!

本文来源:https://www.2haoxitong.net/k/doc/6a65622e7375a417866f8f52.html

《音频信号采集与传输.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式