欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:14927438       资源大小:971.77KB        全文页数:13页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    通信原理编码实验报告.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函数。其次,我们也更深刻的感受到了编码和译码不仅仅是书上讲的这么简单,真正实现起来有很大的难度。而我们也要考虑的更全面一点。总而言之,知识是无穷的。我们要端正心态,再接再厉。


    注意事项

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

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


    收起
    展开