ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:971.77KB ,
资源ID:14927438      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-14927438.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(通信原理编码实验报告.docx)为本站会员(b****5)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

通信原理编码实验报告.docx

1、通信原理编码实验报告大连理工大学语音信号A律编码解码报告课程名称: 通信原理 学院(系): 电信 专 业: 通信工程 班 级: 1101 学 号: 201181227 201181145 学生姓名: 殷青 张非凡 2014年 4 月 17 日一 实验原理1.1总体框图1.2 低通滤波器信道中所用的音频信号频率范围为3003400hz,因此,我们需要对获得的音频信号滤波,使用低通滤波器。1.3 8k重采样信道中的带宽为8khz,因此,我们需要对获得的音频信号进行重采样,以获得8khz的信号。1.4抽样信号的非均匀量化编码(13折线)为了改善小信号时的信号量噪比,采用非均匀量化,量化间隔随信号采样

2、值的不同而变化,信号抽样值小时,量化间隔也小;信号抽样值大时,量化间隔也大,实际用13折线法近似逼近A律压缩来进行非均匀量化。如下图所示:语音信号中通常采用8位的PCM编码就能保证满意的通信质量。8bits的安排:极性码:第一位;段落码:第二至四位,代表13折线中的8个段落;段内码:第五至八位,代表每一段落内的16个均匀划分的量化间隔。段落码和段内码的编码规则如下表所示:二实验内容2.1语音信号的获取。我们用电脑上的录音机录了一段“早上好,我是*”的录音。并用软件“格式工厂”将其转成wav格式。原始信号波形图如下。代码:figure;x0,fs0,bits0=wavread(DSP2.wav)

3、;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的信号扩展成88khz的信号,再对88khz信号每11点抽一个值,这样,8k重采样基本完成。44khz原始信号的频谱波形插“0”并滤波后的88khz信号频

4、域波形抽取成8khz的信号频域波形各个频率的频谱波形图8k重建后的时域信号波形。代码:function output_signal=resample(input_signal) % Easiet way to implement is: input_signal1=interp(input_signal,2); %upsample to 88kHz, twice the sampling frequency of the original audio signal output_signal=zeros(2*length(input_signal),1); %initialize the ou

5、tput signal for i=1:length(input_signal) %for loop using i as an interger output_signal(2*i-1)=input_signal(i); %interpolate one single bit end %LPF,try FIR1 to meet the spec also an anti-aliasing filter %assume filter length=240; %cut-off frequency=4kHz, Wn=Fc/Fs,Fs is the sampling frequency %(8800

6、0),Fc=4000 N=240; Fc=4000; Wn=Fc/44000; b=fir1(N,Wn); %multiple by two % output_signal1=conv(output_signal,2.*b); %downsampling to 8kHz,1/11 of the sampling freuquency of the audio signal % Easiet way to implement is using decimation function for j=1: floor(length(output_signal1)/11) %round towards

7、minus infinity output_signal2(j)=output_signal1(1+11*(j-1); %assign every 11 points as the last output signal end % plot the power spectrum using pwlech function figure(1); pwelch(input_signal,88000,twosided); title(input signal at 44kHz); figure(2); pwelch(output_signal1,88000,twosided); title(outp

8、ut signal1 at 88kHz after fir1); figure(3); pwelch(output_signal2,8000,twosided); title(output signal2 at 8kHz); figure(4); freqz(b); %fft of the three signals and plot them new_input_signal=fft(input_signal); new_output_signal=fft(output_signal); new_output_signal1=fft(output_signal1); new_output_s

9、ignal2=fft(output_signal2); figure(5) subplot(411); plot(1:length(new_input_signal),new_input_signal); title(FFT of Original signal at 44kHz) subplot(412); plot(1:length(new_output_signal),new_output_signal); title(FFT of 88kHz before fir1) subplot(413); plot(1:length(new_output_signal1),new_output_

10、signal1); title(FFT of 88kHz afer fir1); subplot(414); plot(1:length(new_output_signal2),new_output_signal2); title(FFT of 8kHz output signal); % %listen to the sounds %soundsc(input_signal,44000); %the original sound pause; soundsc(output_signal1,88000); %sound after up-sample pause; %soundsc(outpu

11、t_signal2,8000); %sound after down-sample %save the audio as the audio file wavwrite(output_signal2,music_singal_8kHz); end2.3 A律13折线pcm编译码2.3.1 A律pcm编码MATLAB代码%A律13折线PCM编码实现z=sign(xn); %判断S正负xnnor=abs(xn)/max(abs(xn); %xn取模归一化S=2048*xnnor;S=floor(S); %向负无穷方向取整figure(6);plot(S);title(取模、归一、乘2048、取整后

12、的序列);code=zeros(length(S),8); %码组矩阵%极性码第一位和段落码第二三四位for i=1:length(S) if z(i)=0 code(i,1)=1; end if(S(i)=128) code(i,2)=1; if(S(i)=512) code(i,3)=1; if(S(i)1024) code(i,4)=1; end else if(S(i)=256) code(i,4)=1; end end else if(S(i)=32) code(i,3)=1; if(S(i)=64) code(i,4)=1; end else if(S(i)=16) code(i,

13、4)=1; end end endend%段内码 第五六七八位N=zeros(1,length(S);for i=1:length(S) N(i)=bin2dec(num2str(code(i,(2:4)+1; %找到code位于第几段endsp=0,16,32,64,128,256,512,1024; %每段起始值spmin=1,1,2,4,8,16,32,64; %每段最小量化间隔for i=1:length(S) loc=floor(S(i)-sp(N(i)/spmin(N(i); %向负无穷方向取整,段内第几段 if(loc=16) loc=loc-1; end %正负2048时,lo

14、c=16,当做15处理 for k=1:4 code(i,9-k)=mod(loc,2); loc=floor(loc/2); endend %十进制数转化为4位二进制code编码输出波形如图:2.3.2. 接收端重建原音频信号MATLAB代码%A律13折线译码实现dcode=code;dS=zeros(1,size(dcode,1);for i=1:size(dcode,1) par=bin2dec(num2str(dcode(i,(2:4)+1 %段落位置 parmid=bin2dec(num2str(dcode(i,(5:8);%段间位置 dS(i)=sp(par)+spmin(par)

15、*(parmid+0.5); if dcode(i,1)=0 dS(i)=-dS(i); endenddS=dS/2048; %归一化figure(7);plot(dS);dS %dS为将8位PCM码解码后的归一化值译码后信号输出波形如图:分析:通过与原始信号的波形对比,可以观察到,A律PCM译码后的信号波形与原始音频信号波形基本相同,达到了无失真转换。通过soundsc(dS,8000)听取经过编码译码输出后的语音信号,与原始语音信号基本相同,通信质量基本满意,即接收端重建语音信号成功。至此,语音信号的A律13折线PCM编码译码已通过matlab仿真实现。三、实验体会:首先,通过本次实验,两人一组很好的锻炼了我们的合作沟通能力,我们两人从研究整体的编码译码构架,到最终确定算法思想,也经历了一番挣扎,比如我们一开始不太了解到底是将低通滤波器放在重采样前还是重采样后;也比如我们不确定是用13折线还是用书上讲的那个公式。但是最后我们还是采用了13折线,13折线虽然写起来所用语言比较多,但是我们推测,直接用A律的函数公式可能要运行的时间更长一点,因为毕竟一共2万多个点都要算,而且其中还有log函数。其次,我们也更深刻的感受到了编码和译码不仅仅是书上讲的这么简单,真正实现起来有很大的难度。而我们也要考虑的更全面一点。总而言之,知识是无穷的。我们要端正心态,再接再厉。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2