




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
要求:实现对给定模拟信号 2sin(2*300t)+ sin(2*500t)+0.5sin(2*3400t)的数字化传输,要求画出系统框图,并且1、实现8位13折线A律PCM编码和译码(包括采样频率的选取)2、实现简单的信道编解码,CRC(7,4)码,生成多项式为3、实现基带码型变换与反变换,采用HDB3编码。4、信号持续时间1S以上,每种编码结果单独输出。C+实现:#include#include#include#includeconst int maxsize=10000;const double PI=3.14;using namespace std;int Sample(double sp)/抽样double t=0;int i=0;while(t=1000)spi=2*sin(2*PI*300*t/1000)+sin(2*PI*500*t/1000)+0.5*sin(2*PI*3400*t/1000);i+;t+=0.125;return i;void Quantification(double sp,double Q,int Len)/量化int i=0;for(;iLen;i+)Qi=spi/3.27*2048;void PCM_Coding(double Q,int cod,int l)/PCM编码int i;int a=Q;int I4,I5,I6,I7;int c8=16,32,64,128,256,512,1024,2048;int I8=0,16,32,64,128,256,512,1024;int S8=1,1,2,4,8,16,32,64;int b8=0;if(a0)b0=0;a=abs(a);else b0=1;for(i=0;i7;i+)if(aI4) b4=1; else b4=0;I5=Ii+8*Si*b4+4*Si;if(aI5) b5=1; else b5=0;I6=Ii+8*Si*b4+4*Si*b5+2*Si;if(aI6) b6=1; else b6=0;I7=Ii+8*Si*b4+4*Si*b5+2*Si*b6+Si;if(aI7) b7=1; else b7=0;int L=8*l;for(int q=0;q8;q+)codL+=bq;void PCM_Decoding(int cod,int Len,ofstream &fout)/PCM解码int I8=0,16,32,64,128,256,512,1024;int S8=1,1,2,4,8,16,32,64;int b8;for(int i=0;iLen;i+)for(int l=8*i,q=0;q8;l+,q+)bq=codl;int a,t;t=b1*4+b2*2+b3;a=It+(b4*8+b5*4+b6*2+b7+1/2)*St;if(b0=0) a=-a;fouta ;int CRC(int t,int crc,int n)/CRC编码 int k; int g=0xd; t=t3; k=t; g=g3; int i=0; for(;i4;) if(t0x40) t=t4; k=kt; char c8; itoa(k,c,2); int p=7-strlen(c); int h=n; for(;n-hp;n+) crcn=0; for(int m=0;mstrlen(c);m+) crcn+=cm-48;return n;void AMI(int n,int origin,int AMIcode)int i,k=1;for(i=0;in;i+)if(origini=0)AMIcodei=0;else if(origini=1)AMIcodei=k;k=-k;else;void HDB3(int n,int AMIcode)int i=0,m,j=0,v,w,x=0;while(in)m=0;while(AMIcodei=0&m4&i1&m=4)AMIcodei-1=-v;if(AMIcodei-1!=AMIcodei-5)AMIcodei-4=-AMIcodei-5;AMIcodei-1=AMIcodei-4;w=AMIcodei-1;while(x3&i2)i=-2;else;v=AMIcodei-1;if(m=0)i+;else;void HDB3_Coding(int origin,int n,int AMIcode,ofstream &fout)/HDB3编码/int *AMIcode=new int14*maxsize;int i;AMI(n,origin,AMIcode);HDB3(n,AMIcode);for(i=0;in;i+)foutAMIcodei;if(i+1)%8=0) fout ;foutendl;void HDB3_Decoding(int HC,int n)/HDB3解码int i=0,j=0;for(;in;i+)if(HCi!=0)for(j=i+1;jn;j+)if(HCj!=0)if(HCi=HCj)HCj=0;i=j;break;elsei=j;break;else;for(i=0;in;i+)if(HCi!=0) HCi=1;int main()ofstream fout(output.txt);double spmaxsize;int Len;Len=Sample(sp);fout抽样值:endl;for(int i=0;iLen;i+)foutspi ;foutendl;double Qmaxsize;Quantification(sp,Q,Len);foutendl量化电平:endl;for(int i=0;iLen;i+)foutQi ;foutendl;int codmaxsize*8;foutendlPCM_A编码:endl;for(int i=0;iLen;i+)PCM_Coding(Qi,cod,i);for(int j=i*8;ji*8+8;j+)foutcodj;fout ;foutendl;foutPCM_A解码endl;PCM_Decoding(cod,Len,fout);foutendl;int *crc=new int14*maxsize;int n=0;for(int i=0;i8*Len;)int b4;for(int l=0;l4;l+)bl=codi+;int t=b0*8+b1*4+b2*2+b1;n=CRC(t,crc,n);foutendlCRC编码:endl;for(int i=0;i14*Len;i+)foutcrci;if(i+1)%7=0) fout ;foutendl;foutendlHDB3编码:endl;char *hdb3=new char14*maxsize;for(int i=0;i14*Len;i+)hdb3i=crci+48;int *HC=new int14*Len;HDB3_Coding(crc,14*Len,HC,fou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 强化训练人教版8年级数学上册《轴对称》专项攻克练习题(含答案详解)
- 2024年冶金工业技能鉴定模考模拟试题及参考答案详解【满分必刷】
- 2025年公务员考试时事政治真题【b卷】附答案详解
- 2024-2025学年度会计硕士测试卷含答案详解(精练)
- 2024年事业单位工勤技能考试题库附完整答案详解(夺冠)
- 2025临床执业医师考前冲刺练习题附参考答案详解【A卷】
- 安徽省蚌埠市2026届高三上学期8月开学调研性监测语文试卷及参考答案
- 微信公众平台搭建服务合同5篇
- 2025年“安全生产事故隐患排查”知识竞赛考前冲刺试卷新版附答案详解
- 2024医学检验(中级)高分题库及参考答案详解【黄金题型】
- 新员工网络安全知识培训课件
- 后勤人员消防知识培训课件
- 中药饮片养护技术
- 八上必背文言文解析(全册)
- 2025年高等教育法学类自考-00859警察组织行为学历年参考题库含答案解析(5套典型考题)
- 2025年大队委选拔笔试题目及答案
- 2025年广东省中学生天文知识竞赛试题(及答案)
- 2025年秋期部编版五年级上册小学语文教学计划+教学进度表
- 2025年送气工考试试题及答案
- 国企投资融资管理办法
- 水电站大坝安全现场检查技术规程 -DL-T 2204
评论
0/150
提交评论