资源描述:
《通信原理编码实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、大连理工大学语音信号A律编码解码报告课程名称:通信原理学院(系):电信专业:通信工程班级:1101学号:201181227201181145学生姓名:殷青张非凡2014年4月17日实验原理1.1总体框图原始信号音频(wav)格式低通滤波8k重采样A律13折线编码A律13折线的译码1.2低通滤波器信道中所用的音频信号频率范围为300~3400hz,因此,我们需要对获得的音频信号滤波,使用低通滤波器。1.38k重采样信道中的带宽为8khz,因此,我们需要对获得的音频信号进行重采样,以获得8khz的信号。1.4抽样信号的非均匀量化编码(13折线)为了改善小信号时
2、的信号量噪比,采用非均匀量化,量化间隔随信号采样值的不同而变化,信号抽样值小时,量化间隔也小;信号抽样值大时,量化间隔也大,实际用13折线法近似逼近A律压缩来进行非均匀量化。如下图所示:语音信号中通常采用8位的PCM编码就能保证满意的通信质量。8bits的安排:极性码:第一位;段落码:第二至四位,代表13折线中的8个段落;段内码:第五至八位,代表每一段落内的16个均匀划分的量化间隔。段落码和段内码的编码规则如下表所示:二.实验内容2.1语音信号的获取。我们用电脑上的录音机录了一段“早上好,我是***”的录音。并用软件“格式工厂”将其转成wav格式。原始信号
3、波形图如下。代码:figure;[x0,fs0,bits0]=wavread('DSP2.wav');plot(x0);xlabel('t'),ylabel('幅值');title('原始信号波形');2.2信号处理——低通滤波器&8k重采样2.2.1低通滤波:设计思想:利用窗函数FIR函数,将语音信号的高频成分滤除,即达到低通滤波的目的。低通滤波器的频响特性曲线如下图:2.2.2重采样:设计思想:wav文件的抽样频率已经是44khz,要用8khz重采样,而从44k到8k,由于44不能被8整点采样,造成可能的语音信号的缺失,因此,我们先用插0法将44khz
4、的信号扩展成88khz的信号,再对88khz信号每11点抽一个值,这样,8k重采样基本完成。44khz原始信号的频谱波形插“0”并滤波后的88khz信号频域波形抽取成8khz的信号频域波形各个频率的频谱波形图8k重建后的时域信号波形。代码:functionoutput_signal=resample(input_signal)%Easietwaytoimplementis:input_signal1=interp(input_signal,2);%upsampleto88kHz,twicethesamplingfrequencyoftheoriginala
5、udiosignaloutput_signal=zeros(2*length(input_signal),1);%initializetheoutputsignalfori=1:length(input_signal)%forloopusingiasanintergeroutput_signal(2*i-1)=input_signal(i);%interpolateonesinglebitend%LPF,tryFIR1tomeetthespecalsoananti-aliasingfilter%assumefilterlength=240;%cut-off
6、frequency=4kHz,Wn=Fc/Fs,Fsisthesamplingfrequency%(88000),Fc=4000N=240;Fc=4000;Wn=Fc/44000;b=fir1(N,Wn);%multiplebytwo%output_signal1=conv(output_signal,2.*b);%downsamplingto8kHz,1/11ofthesamplingfreuquencyoftheaudiosignal%Easietwaytoimplementisusingdecimationfunctionforj=1:floor(l
7、ength(output_signal1)/11)%roundtowardsminusinfinityoutput_signal2(j)=output_signal1(1+11*(j-1));%assignevery11pointsasthelastoutputsignalend%plotthepowerspectrumusingpwlechfunctionfigure(1);pwelch(input_signal,[],[],[],88000,'twosided');title('inputsignalat44kHz');figure(2);pwelch
8、(output_signal1,[],[],[],88000,'t