实验七 音频信号的采集和传输(4学时)
7.1实验目的
7.2实验器材
1、硬件:计算机、声卡、麦克风
2、软件:Matlab
7.3实验原理
本实验应用了7门课程的多个知识点综合而成,分别为:
(1)计算机原理及应用;(2)模拟电子技术基础;(3)数字电子技术基础;
(4)Matlab程序设计语言;(5)信号与系统;(6)数字信号处理;
(7)电路分析基础。
[1] 请同学们根据实验要求,配置计算机等硬件,设计并编程完成实验。
[2] 可以2-3个同学一组,协同完成。
7.4 课题设计流程
7.5信号的采集
通过Windows自带的录音机程序驱动声卡来采集语音信号,同时保存为wav格式文件,从而为MATLAB中的采集函数直接读取、写入或播放。
在MATLAB中,我们可以用wavread语句来读入(采集)语音信号,将它赋值给某一向量。再将该向量看作一个普通的信号
7.6频谱分析
频谱分析的概念:将信号源发出的信号强度按频率顺序展开,使其成为频率的函数,并考察变化规律,称为频谱分析。
在MATLAB中,对信号进行FFT变换实现频谱分析
函数FFT的调用格式为: y=fft(x)
其中,x是序列,y是序列的FFT
7.7 调制与解调
调制就是对信号源的信息进行处理加到载波上,使其变为适合于信道传输的形式的过程,就是使载波随信号而改变的技术。一般来说,信号源的信息(也称为信源)含有直流分量和频率较低的频率分量,称为基带信号。基带信号往往不能作为传输信号,因此必须把基带信号转变为一个相对基带频率而言频率非常高的信号以适合于信道传输。这个信号叫做已调信号,而基带信号叫做调制信号。调制是通过改变高频载波即消息的载体信号的幅度、相位或者频率,使其随着基带信号幅度的变化而变化来实现的。而解调则是将基带信号从载波中提取出来以便预定的接收者(也称为信宿)处理和理解的过程。
解调是从携带消息的已调信号中恢复消息的过程。在各种信息传输或处理系统中,发送端用所欲传送的消息对载波进行调制,产生携带这一消息的信号。接收端必须恢复所传送的消息才能加以利用,这就是解调。
MATLAB提供了一些用于调制和解调的函数,本实验将采用ammod函数来进行调制,用amdemod函数来进行解调,调用方式如下:
y=ammod(x,fc,fs,dev)
X=amdemod(Y,fc,fs,dev)
其中,x为调制信号;fc为载波信号的载频;fs为信号的抽样频率;dev为;y为已调信号。Y为解调信号;X为已解调信号。
7.8 高斯白噪声
高斯白噪声:如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。
在MATLAB中,可用awgn函数在某一信号中加入高斯白噪声。
y = awgn(x,SNR,SIGPOWER) 在信号x中加入高斯白噪声。信噪比SNR以dB为单位。。如果x是复数,就加入复噪声。如果SIGPOWER是数值,则其代表以dBW为单位的信号强度;如果SIGPOWER为’measured’,则函数将在加入噪声之前测定信号强度。
7.9 滤波
滤波是将信号中特定波段频率滤除的操作,是抑制和防止干扰的一项重要措施。
在MATLAB中,可用filter函数对信号进行滤波
函数filter的调用格式为 y=filter(b,a,x)
其中向量b和a分别表示系统函数的分子、分母多项式的系数,用butter函数可求得系统函数分子与分母系数
[b,a]=butter(N,wc)
wc=[w1,w2],设计2N阶带通滤波器
而滤波的调用格式可以为[N,wc]=buttord(wp,ws,Rp,As)。而对于不同类型的滤波器,参数wp和ws有一些限制:对于低通滤波器,wp<ws;对于高通滤波器,wp>ws;对于带通滤波器,wp和ws分别为具有两个元素的矢量,wp=[wp1,wp2]和ws=[ws1,ws2],并且 ws1<wp1<wp2<ws2;对于带阻滤波器wp1<ws1<ws2<wp2。
具体实验报告、实验代码如下:
https://download.csdn.net/download/weixin_39589455/19646477