




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精品程序用matlab实现,全都运行过,完美实现PCW能班级通信原理大作业-抽样量化编码译码的Matlab 实现学 院电子工程学院学 号 *学生姓名* *授课老师*- 可编辑 -、前有通信系统的信源有两大类:模拟信号和数字信号。例如:话筒输出的语音信 号属于模拟信号;而文字、计算机数据属于数字信号。数字信号相比于模拟信号有抗干扰能力强、无噪声积累的优点。因此,若输入是模拟信号,则在数字通信系统的信源编码部分需对输入模拟信号进行数字化。数字化需要三个步骤:抽样、量化和编码。抽样是指用每隔一定时间的信号 样值序列来代替原来在时间上连续的信号,也就是在时间上将模拟信号离散化 量化是用有限个幅度值近似
2、原来连续变化的幅度值,把模拟信号的连续幅度变为招量化后的信用二模拟信有限数量的有二巧口隔的苗也值。二词中则是按用户的规律,进制嫉字*示,然后转换成二值或多值M数字信b流抽样信步骤如毋所示:口 万二、模拟信号的抽样(1)低通模拟信号的抽样原理抽样定理:设一个连续模拟信号m(t)中的最高频率 3,则以间隔时间为T01/2 fH的周期性冲激脉冲对它抽样时,m(t)将被这些抽样值所完全确定。下面对这个定理进行证明。设有一个最高频率小于fH的信号m(t)。将这个 信号和周期性单位冲激脉冲 丁相乘,乘积就是抽样信号,它是一系列间隔为T 秒的强度不等的冲激脉冲。这些冲激脉冲的强度等于相应时刻上信号的抽样值。
3、现用ms(t)m(kT)表示此抽样信号序列。故有 m$(t) m(t) T(t)令M、(与和乂$)分别表示m(t)、T(t)和ms(t)的频谱。计算可得:1.1.Ms(f) M(f) (f nfs)M(f nfs)TnT上式表明,抽样信号的频谱Ms(f)是无数间隔频率为nfs的原信号频谱M(f) 相叠加而成。m(t)、 T(t)和ms (t)的时域和频域波形如下图所示:信号m(t)的最高频率小于fH ,若频率间隔fs 2 ,则Ms(f)中包含的每个原信号频谱M之间互不重叠。这样就能够从 Ms(f)中用一个低通滤波器分 离出m(t)的频谱M,也就是能从抽样信号中恢复原信号。(2)模拟信号抽样的M
4、atlab实现及采样定理的验证(a)编程思想令输入的模拟信号m (t) = 2.5 3sin(400 t) 2cos(140 t),由已学知识可知: m (t)的最高频率 储=200Hz ,由抽样定理知:当采样频率 fs 400Hz (采样 周期小于1/400 s )时,抽样信号可以完全确定原信号。由傅里叶变换知识得:模拟信号 m (t) = 2.5 3sin(400 t) 2cos(140 t)的频 谱 |M(f)|=2.5 (f) 1.5 ( f 200)( f 70) 1.5 ( f 200)( f 70)。分别令采样频率fs 400Hz和fs400Hz ,绘制出两种情况下各自抽样信号的
5、频谱,与原模拟信号的频谱进行比较。若只有当采样频率大于400Hz时,抽样信号的频谱才与原模拟信号相同,则可以验证采样定理的正确性。(b) Matlab输出波形图-200-1000100200300400500200010000 -500-400-300采样序列频域(不符合采样定理)模拟信号时域波形0.30.40.50.60.70.80.91模拟信号频域波形采样序列 时域(符合采样定理)200015001000500 0-400-300-200-1000100200300400采样序列频域(符合采样定理)(C)结论由上图可知:当采样频率小于2 fH时,抽样信号的频谱发生了混叠。而采样频率大于2
6、fH时,抽样信号的频谱与原模拟信号频谱相同。(d) Matlab 源代码%sampling.m对模拟信号采样产生序列信号,并验证采样定理t=0:0.001:1;%模拟信号 时域和频域波形x=2.5+3.*sin(200*2*pi*t)+2.*cos(70*2*pi*t);figure subplot (2,1,1)plot(t,x);title(模拟信号日域波形) fs=linspace(-1000/2,1000/2,length(t);xf=fftshift(fft(x);subplot (2,1,2)plot(fs,abs(xf)%可知,信号最大频率 200Hztitle( 模拟信号频域波
7、形)T=0.009;%不满足采样定理,采样周期大于 1/400n=0:1:1/T;xn=2.5+3.*sin(200*2*pi*n*T)+2.*cos(70*2*pi*n*T);figure(2)subplot (2,1,1)stem(n,xn)title( 采样序列 时域(不符合采样定理) )fns=linspace(-0.5/T,0.5/T,length(n);xnf=fftshift(fft(xn);subplot (2,1,2)plot(fns,abs(xnf)title( 采样序列 频域(不符合采样定理) )T=0.0013;%满足采样定理,采样周期小于 1/400n=0:1:1/T
8、;xn=2.5+3.*sin(200*2*pi*n*T)+2.*cos(70*2*pi*n*T);figure(3)subplot (2,1,1) stem(n,xn)F/I2R J/16 U32title(采样序列时域(符合采样定理)fns=linspace(-0.5/T,0.5/TJength(n);xnf=fftshift(fft(xn);subplot (2,1,2)plot(fns,abs(xnf)title(采样序列 频域(符合采样定理))三、抽样信号的非均匀量化编码(13折线法)(1)脉冲编码调制简介模拟信号抽样后变成时间离散的信号,经过量化后,此抽样信号才能成为数字信号。分析可
9、知:最简单的均匀量化器对于小输入信号很不利。为了改善小信号时的信号量噪比,在实际应用中常采用非均匀量化。非均匀量化时,量化间隔随信号抽样值的不同而变化。信号抽样值小时,量化间隔v也小;信号抽样值大时,量化间隔v也变大。实际应用中,用13折线法近似A压缩律,来进行非均匀量化。图中横坐标x在0至1区间中分为不均匀的8段。1/2至1间的线段称为第8段;1/4至1/2间的线段称为第7段;1/8至1/4间的线段称为第6段;依此 类推。图中纵坐标y则均匀地划分作8段。将与这8段相应的座标点(x, y)相连,就得到了一条折线。在语音通信中,通常采用8位的PCM编码就能够保证满意的通信质量。在13折线法中采用
10、的折叠码有8位。第一位cl表示量化值的极性正负。后 面的7位分为段落码和段内码两部分,用于表示量化值的绝对值。其中第2至4 位(c2 c3 c4)是段落码,共计3位,可以表示8种斜率的段落;其他4位(c5 -c8) 为段内码,可以表示每一段落内的16种量化电平。段内码代表的16个量化电 平是均匀划分的。所以,这7位码总共能表示27=128种量化值。在下面的表中给出了段落码和段内码的编码规则。段落在舁 厅P段落码c2 c3c4段落范围(量化单位)81 1 11024204871 1 0512102461 0 125651251 0 012825640 1 16412830 1 03264量化间隔
11、段内码c5 c6 c7 c8151 1 1 1141 1 1 0141 1 0 1121 1 0 0111 0 1 1101 0 1 091 0 0 181 0 0 070 1 1 160 1 1 050 1 0 140 1 0 030 0 1 120 0 1 010 0 0 100 0 0 020 0 1163210 0 0016在上述编码方法中,段内码是按量化间隔均匀编码的,但是因为各个段落的斜率不等,长度不等,故不同段落的量化间隔是不同的。其中第 1和2段最短, 斜率最大,其横坐标x的归一化动态范围只有1/128。再将其等分为16小段后, 每一小段的动态范围只有(1/128)/(1/16
12、) = 1/2048。第8段最长,其横坐标x的动态范围为1/2 o将其16等分后,每段长度为1/32 o假若采用均匀量化而仍希望对于小电压保持有同样的动态范围1/2048 ,则需要用11位的码组才行。现在采用非均匀量化,只需要 7位就够了。(2) 13折线法编码的Matlab实现(a)编程思想上面“模拟信号的抽样”已经得到了时间离散、幅度连续的抽样信号。若将对抽样信号非均匀量化编码编出的 8位码组用C1 C2 C3 C4 C5 C6 C7 C8表示。(1)抽样信号是1Xn的矩阵,例如采样周期T=0.0013;n=0:1:1/T;则有770个抽样值,13折现法编码后得到的则是770 X8的矩阵,
13、一行对应一个抽样 值的8位PCM码组。每个抽样值的编码思想都是一样的,若要进行多个抽样值 的编码,进行for循环即可。下面阐述单个抽样值的编码思路。(2)确定极性码c1:利用matlab的符号函数sign(x) :x0 时,sign(x)=1 。所以,若 sign (x)大于等于 0, c1=1 ; 否则Ci =0 o例如:+1000 , sign (1000 ) =1 ,所以 c1=1。(3)确定段落码C2QC4: PCM13折线编码的动态范围为-20482048 , 而上一步骤中已经求出了各抽样信号极性,于是只要对抽样信号的绝对值分析即可。故对抽样值依次进行取模、归一、乘以 2048、取整
14、的操作,可以将抽样值 转化为0-2048之间的整数。根据段落码与段落范围的关系,使用if语句即可确定 C2 C3 C4。例如:+1000 ,因为 1000 128,故 C2=1 ;又 1000 512,故 q=1 ;又 1000 =0code(i,1)=1;%不改变依旧为 0endif (S(i)=128)code(i,2)=1;if (S(i)=512)code(i,3)=1;- 可编辑 -精品if (S(i)=1024)code(i,4)=1;endelseif (S(i)=256)code(i,4)=1;endendelseif (S(i)=32)code(i,3)=1;if (S(i)
15、=64)code(i,4)=1;endelseif (S(i)=16)code(i,4)=1;endendendend% 段内码,第五六七八位- 可编辑 -N=zeros(1,length(S);for i=1:length(S)N(i)=bin2dec(num2str(code(i,(2:4)+1;end% 找到 code 位于第几段sp=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);% 向负无穷
16、方向取整,段内第几段if (loc=16)loc=loc-1;end%正负 2048 时, loc=16 ,当做 15 处理for k=1:4code(i,9-k)=mod(loc,2);loc=floor(loc/2);end%十进制数转化为 4位二进制endfprintf( 抽样信号进行13 折线编码后的码组为(每一行代表一个抽样值,共%d 个值),length(S)code%code 为 13折线译码后的码组,是length(S)*8 的矩阵3) 8 位 PCM 码的译码实现(a)编程思想1 )由c1 可以确定抽样值的正负,c1=1 ,抽样值为正;否则为负。2 )c2c3c4确定抽样值的
17、段落序号,c5c6c7c8确定抽样值在段内第几个量化间隔。3 )译码时,通常是将码组转化为此量化间隔的中间值。例如: +1000 编码后的8位码组为1110111 ,对 1110111 进行解码。c1 =1 ,故抽样值为正。c2 c3c4 =110 ,二进制转化为十进制为 6,6+1=7 ,故抽样值在第 7段。% 段落起点值% 最小量化间隔sp=0,16,32,64,128,256,512,1024;spmin=1,1,2,4,8,16,32,64;c5 c6 c7 c8 =1111 ,二进制转为十进制为15 ,故抽样值在段内第15段。sp (7) =512 , spmin (7) =32 。
18、11101111 译码值为( 992+1024 ) /2=1008 。也就是sp (7) +spmin (7) 乂 (15+0.5 ) =512+32 X15.5=1008故利用段落码和段内码即可编程实现译码。令Matlab译码程序输入为1 1 1 0 1 1 1 1,运行结果如下:dcode =111011118位 PCM 码译码后的数值为(共1 个值)dS =1008(可知:与上面理论分析结果一致)(b) Matlab输出结果(将前面编码得到770 X8的码组矩阵作为输入)8 位 PCM 码译码后的归一化数值为(共 770 个值)dS =Columns 1 through 100.2578
19、0.4609-0.06840.60940.95310.3984-0.0996-0.20700.49220.7969Columns 11 through 200.32030.28910.82810.7344-0.0149-0.08010.41410.2734-0.19920.1523Columns 21 through 300.82810.67190.20700.51560.85940.2891-0.24610.12890.47660.0645Columns 31 through 400.21480.67190.6094-0.08010.60940.92190.4141-0.1191-0.199
20、20.3828精品Columns 41 through 500.3984-0.03610.25780.92190.76560.17580.3359-可编辑-0.67190.2070-0.3203(c)源代码% 十三折线解码源代码的矩阵dcode=code;%将上面产生的770个码值作为输入,decode是length(S)*8sp=0,16,32,64,128,256,512,1024;%段落起点值spmin=1,1,2,4,8,16,32,64;%最小量化间隔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)*(parmid+0.5);if dcode(i,1)=0% 符号位dS(i)=-dS(i);endenddS=dS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 分红权转让合同范本
- 旧房整栋出售合同范本
- wenhua公司合伙合同范本
- 卖家卖货合同范本模板
- 大理租院子合同范本
- 汽车抵款合同范本
- 提供租赁合同范本
- 煤气安装服务合同范本
- 过度安置房合同范本
- 文化墙彩绘合同范本
- 危险作业票 安全作业票格式模板 动火登高煤气受限空间作业票
- 水电工安全考试题及答案
- 2025至2030临床前CRO治疗行业发展趋势分析与未来投资战略咨询研究报告
- 2025年浙江省中考数学试卷真题(含官方标准答案)
- 幼儿园物资报损管理制度
- 酒精戒断综合症治疗方案讲课件
- 【9语安徽中考卷】2025年安徽省中考招生考试真题语文试卷(真题+答案)
- 工程造价培训用课件
- 《人工智能概论-面向通识课程》全套教学课件
- 三区人才面试题及答案大全
- 城市轨道交通施工机械设备管理措施
评论
0/150
提交评论