扩频通信具有较强的抗干扰、抗侦查和抗衰落能力,可以实现码分多址,目前广泛应用于通信抗干扰、卫星通信、导航、保密通信、测距和定位等各个方面。另外,随着集成电路技术的飞速发展,数字接收机和软件无线电也已经是现代通信研究的一个热点。 本文正是顺应这种发展趋势,在某工程项目的通信分系统中建立CDMA直接序列扩频通信系统。 本文作者承担了多点无线扩频通信系统的研究,建立了一个完整的仿真系统。提出了适合于本系统的实现算法,同时还建立了基于软件无线电平台的系统的全FPGA设计和实现,包括各个模块的测试和整个系统的联合测试。 文章的主要内容如下: 1.简述了扩频通信及软件无线电的发展及现状。 2. 对直扩系统的基本原理和系统中采用的相关关键技术进行了阐述。相关关键技术包括扩频码的研究和选取,扩频码同步的研究,包括捕获算法和跟踪算法的研究,以及自适应门限的研究。 3.详细讨论了该多点无线通信系统的设计与实现,提出了适合于本系统的算法。首先阐述了系统的总体设计方案和设计参数,接着分为物理层和链路层详细阐述了各个模块的设计与仿真,包括matlab仿真和modelsim仿真,文中给出了大量的仿真结果图。仿真结果证明算法的正确性,仿真性能也能满足系统设计的要求。 4.介绍了该多点无线通信系统的硬件平台与系统调试。首先介绍了系统的硬件平台和硬件框图,介绍了系统的相关器件及其配置,接着介绍了FPGA的开发流程、开发工具、设计原则及遇到的相关问题,最后介绍了系统的设计验证与性能分析,给出了系统的调试方案和调试结果。 本文所讨论的多点无线通信系统已经在某工程项目的通信分系统中实现。目前工作正常,性能良好,具有通用性、可移植性,有重要的理论及实用价值。
上传时间: 2013-04-24
上传用户:wzr0701
在雷达信号侦察中运用宽带数字接收技术是电子侦察的一个重要发展方向。数字信号处理由于其精度高、灵活性强、以及易于集成等特点而应用广泛。电子系统数字化的最大障碍是宽带高速A/D变换器的高速数据流与通用DSP处理能力的不匹配。而FPGA的广泛应用,为解决上述矛盾提供了一种有效的方法。 本文利用FPGA技术,设计了具备高速信号处理能力的宽带数字接收机平台,并提出了数字接收机实现的可行性方法,以及对这些方法的验证。具体来说就是如何利用单片的FPGA实现对雷达信号并行地实时检测和参数估计。所做工作主要分为两大部分: 1、适合于FPGA硬件实现的算法的确定及仿真:对A/D采样信号采用自相关累加算法进行信号检测,利用信号的相关性和噪声的独立性提高信噪比,通过给出检测门限来估计信号的起止点。对于常规信号的频率估计,采用Rife算法。通过Matlab仿真,表明上述算法在运算量和精度方面均有良好性能,适合用作FPGA硬件实现。 2、算法的FPGA硬件实现:针对原算法中极大消耗运算量的相关运算,考虑到FPGA并行处理的特点,将原算法修改为并行相关算法,并加入流水线,这样处理极大地提高了系统的数据吞吐率。采用Xilinx公司的Virtex-4系列中的XC4VSX55芯片作为开发平台完成设计,系统测试结果表明,本设计能正常工作,满足系统设计要求。 文章的最后,结合系统设计给出几种VHDL优化方法,主要围绕系统的速度、结构和面积等问题展开讨论。
上传时间: 2013-06-25
上传用户:songnanhua
正交频分复用技术(OFDM)是未来宽带无线通信中的关键技术。随着用户对实时多媒体业务,高速移动业务需求的迅速增加,OFDM由于其频谱效率高,抗多径效应能力强,抗干扰性能好等特点,该技术正得到了广泛的应用。 OFDM系统的子载波之间必须保持严格的正交性,因此对符号定时和载波频偏非常敏感。本课题的主要任务是分析各种算法的性能的优劣,选取合适的算法进行FPGA的实现。 本文首先简要介绍了无线信道的传输特性和OFDM系统的基本原理,进而对符号同步和载波同步对接收信号的影响做了分析。然后对比了非数据辅助式同步算法和数据辅助式同步算法的不同特点,决定采用数据辅助式同步算法来解决基于IEEE 802.16-2004协议的突发传输系统的同步问题。最后部分进行了算法的实现和仿真,所有实现的仿真均在QuartusⅡ下按照IEEE 802.16-2004协议的符号和前导字的结构进行。 本文的主要工作:(1)采用自相关和互相关联合检测算法同时完成帧到达检测和符号同步估计,只用接收数据的符号位做相关运算,有效地解决了判决门限需要变化的问题,同时也减少了资源的消耗;(2)在时域分数倍频偏估计时,利用基于流水线结构的Cordic模块计算长前导字共轭相乘后的相角,求出分数倍频偏的估计值;(3)采用滑动窗口相关求和的方法估计整数倍频偏值,在此只用频域数据的符号位做相关运算,有效地解决了传统算法估计速度慢的缺点,同时也减少了资源的消耗。
上传时间: 2013-05-23
上传用户:宋桃子
随着信号处理技术的进步和电子技术的发展,雷达信号侦察接收机逐渐从模拟体制向数字体制转变。软件无线电概念的提出,促使雷达侦察接收机朝大带宽、全截获方向发展,现有的串行信号处理体制已经很难满足系统要求。FPGA器件的出现,为实现宽带雷达信号侦察数字接收机提供了硬件支持。 本文结合FPGA芯片特点,在前人研究基础上,从算法和硬件实现两方面,对雷达信号侦察数字接收机若干关键技术进行了研究和创新,主要研究内容包括以下几个方面。 1)给出了基于QuartusII/Matlab和ISE/ModelSim/Matlab的两种FPGA设计联合仿真技术。这种联合仿真技术,大大提高了基于FPGA的雷达信号侦察数字接收机的设计效率。 2)给出了一种基于FFT/IFFT的宽带数字正交变换算法,并将该算法在FPGA中进行了硬件实现,设计可对600MHz带宽内的输入信号进行实时正交变换。 3)提出了一种全并行结构FFT的FPGA实现方案,并将其在FPGA芯片中进行了硬件实现,设计能够在一个时钟周期内完成32点并行FFT运算,满足了数字信道化接收机对数据处理速度的要求。 4)提出了一种自相关信号检测FPGA实现方案,通过改变FIFO长度改变自相关运算点数,实现了弱信号检测。提出通过二次门限处理来消除检测脉冲中的毛刺和凹陷,降低了虚警概率,提高了检测结果的可靠性。 5)在单通道自相关信号检测算法基础上,提出采用三路并行检测,每路采用不同的相关点数和检测门限,再综合考虑三路检测结果,得到最终检测结果。给出了算法FPGA实现过程,并对设计进行了联合时序仿真,提高了检测性能。 6)给出了一种利用FFT变换后的两根最大谱线进行插值的快速高精度频率估计方法,并将该算法在FPGA硬件中进行了实现。通过利用FFT运算后的实/虚部最大值进行插值,降低了硬件资源消耗、缩短了运算延迟。 7)结合4)、5)、6)中的研究成果,完成了对雷达脉冲信号到达时间、终止时间、脉冲宽度和脉冲频率的估计,最终在一块FPGA芯片内实现了一个精简的雷达信号侦察数字接收机,并在微波暗室中进行了测试。
上传时间: 2013-06-13
上传用户:Divine
扩频通信系统与常规的通信系统相比,具有很强的抗窄带干扰,抗多径干扰,抗人为干扰的能力,并具有信息隐蔽、多址保密通信等优点。在近年来得到了迅速的发展。本论文主要讨论和实现了基于FPGA的直接序列扩频信号的解扩解调处理。论文对该直扩通信系统和FPGA设计方法进行了相关研究,最后用Altera公司的最新的FPGA开发平台Quarus Ⅱ5.0实现了相关设计。 整个系统分为两个部分,发送部分和接收部分。发送部分主要有串并转换、差分卷积编码、PN码扩频、QPSK调制、成型滤波等模块。接收部分主要有前端抗干扰、数字下变频、解扩解调等模块。 论文首先介绍了扩频通信系统的特点以及相关技术的国内外发展现状,并介绍了本论文的研究思路和内容。 然后,论文分析了几种常用的窄带干扰抑制、载波同步及PN码同步算法,结合实际需要,设计了一种零中频DSSS解调解扩方案。给出了抗窄带干扰、PN码捕获及跟踪以及载波同步的算法分析,采用了基于数字外差调制的自适应陷波器来进行前端窄带干扰抑制处理,用基于自适应门限技术的滑动相关捕获和分时复用单相关器跟踪来改善PN码同步的性能,用基于硬判决的COSTAS(科斯塔斯)环来减少载波提取的算法复杂度,用改进型CORDIC算法实现NCO来方便的进行扩展。 接着,论文给出了系统总体设计和发送及接受子系统的各个功能模块的实现分析以及在Quartus Ⅱ5.0上的实现细节,给出了仿真结果。 然后论文介绍了整个系统的硬件电路设计和它在真实系统中连机调试所得到的测试结果,结果表明该系统具有性能稳定,灵活性好,生产调试容易,体积小,便于升级等特点并且达到课题各项指标的要求。 最后是对论文工作的一些总结和对今后工作的展望。
上传时间: 2013-07-04
上传用户:yd19890720
特点: 精确度0.1%满刻度 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A|/ 16 BIT类比输出功能 输入与输出绝缘耐压2仟伏特/1分钟(input/output/power) 宽范围交直流兩用電源設計 尺寸小,穩定性高
上传时间: 2014-12-23
上传用户:ydd3625
特点(FEATURES) 精确度0.1%满刻度 (Accuracy 0.1%F.S.) 可作各式数学演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A| (Math functioA+B/A-B/AxB/A/B/A&B(Hi&Lo)/|A|/etc.....) 16 BIT 类比输出功能(16 bit DAC isolating analog output function) 输入/输出1/输出2绝缘耐压2仟伏特/1分钟(Dielectric strength 2KVac/1min. (input/output1/output2/power)) 宽范围交直流两用电源设计(Wide input range for auxiliary power) 尺寸小,稳定性高(Dimension small and High stability)
上传时间: 2013-11-24
上传用户:541657925
/*--------- 8051内核特殊功能寄存器 -------------*/ sfr ACC = 0xE0; //累加器 sfr B = 0xF0; //B 寄存器 sfr PSW = 0xD0; //程序状态字寄存器 sbit CY = PSW^7; //进位标志位 sbit AC = PSW^6; //辅助进位标志位 sbit F0 = PSW^5; //用户标志位0 sbit RS1 = PSW^4; //工作寄存器组选择控制位 sbit RS0 = PSW^3; //工作寄存器组选择控制位 sbit OV = PSW^2; //溢出标志位 sbit F1 = PSW^1; //用户标志位1 sbit P = PSW^0; //奇偶标志位 sfr SP = 0x81; //堆栈指针寄存器 sfr DPL = 0x82; //数据指针0低字节 sfr DPH = 0x83; //数据指针0高字节 /*------------ 系统管理特殊功能寄存器 -------------*/ sfr PCON = 0x87; //电源控制寄存器 sfr AUXR = 0x8E; //辅助寄存器 sfr AUXR1 = 0xA2; //辅助寄存器1 sfr WAKE_CLKO = 0x8F; //时钟输出和唤醒控制寄存器 sfr CLK_DIV = 0x97; //时钟分频控制寄存器 sfr BUS_SPEED = 0xA1; //总线速度控制寄存器 /*----------- 中断控制特殊功能寄存器 --------------*/ sfr IE = 0xA8; //中断允许寄存器 sbit EA = IE^7; //总中断允许位 sbit ELVD = IE^6; //低电压检测中断控制位 8051
上传时间: 2013-10-30
上传用户:yxgi5
TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明 TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上传时间: 2013-11-19
上传用户:shen1230
#include<iom16v.h> #include<macros.h> #define uint unsigned int #define uchar unsigned char uint a,b,c,d=0; void delay(c) { for for(a=0;a<c;a++) for(b=0;b<12;b++); }; uchar tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
上传时间: 2013-10-21
上传用户:13788529953