随着人们对于高速无线数据业务的急切需求以及新的无线通信技术的发展,频谱资源匮乏问题日益严重。无线频谱的紧缺已经成为限制无线通信与服务应用持续发展的瓶颈。认知无线电技术(Cognitive Radio)改变了传统的固定频谱分配方式,它以频谱利用的高效性为目标,允许非授权用户择机利用授权用户的频谱空洞传输数据,以此来解决无线频谱资源短缺的问题。它是具有自主寻找和使用空闲频谱资源能力的智能无线电技术。本文的目标是在基于FPGA+DSP的系统硬件平台上,以软件编程的方式实现认知无线电数据传输的功能。 软件无线电是实现认知无线电的理想平台。本文首先阐述了软件无线电的基本工作原理及关键技术途径,对多速率信号处理中的内插和抽取、带通采样、数字下变频、滤波等技术进行了分析与探讨,为设计多速率调制解调系统提供了理论基础。然后针对软件无线电的要求给出了基于FPFA+DSP的系统设计硬件框图,并对其中的部分硬件(FPGA、AD9857、AD9235)做了简要的描述并给出其初始化过程。在理解基本概念和原理的基础上,详细论述了在系统硬件设计平台上实现的π/4-DQPSK、8PSK、16QAM调制解调技术。本文给出了调制解调系统实现方案中的各个功能模块(差分编、解码,加同步头、内插和成形滤波,下变频,系统同步等)具体的设计方案和通过硬件编程实现了板级的仿真和最后的硬件实现,并对其中得到的数据进行分析,进一步验证方案的可行性。最后介绍了通信板同频谱感知板协同工作原理,依据频谱感知板获取的各个信道状况自适应的选择π/4-DQPSK、8PSK、16QAM调制解调方式并在FPGA上实现了其中部分功能。
上传时间: 2013-05-30
上传用户:fywz
随着大量的工矿企业的兴起和扩张,会有越来越多的废水、污水排放到环境中,特别是在珠江三角洲地区,这一现象尤为突出。目前珠江流域的水资源已经出现严重污染,由此带来的环境污染和生态污染已引起了当地有关部门的高度重视。为此,本课题通过与广东泰斗微电子公司合作,研发一种具有通用性的水污染源信息监控网络的语音报警器,通过实时快速的污染源信息检测,完成对污染源信息的语音报警和存储。 报警器的功能是接收由前端北斗通信处理器传输来的污染源信号进行相应的语音报警。本报警器设计选用目前工业控制领域流行的ARM芯片LPC2368作为主控制器,并采用RS232/RS485通用通信方式来完成对水污染源信息的采集与处理;选用SD卡作为存储介质来实现对语音文件和污染源信息的存储;语音报警部分选用价格低廉的WAV和MP3解码芯片VS1003进行语音文件的解码。设计中还对语音输出通道进行扩展,提高系统的扩展性和使用的灵活性。 本报警器设计兼容FAT16和FAT32两种文件系统格式,并支持WAV和MP3两种类型的语音文件报警,相比目前常用的水污染监控系统报警器来说,本报警器具有更大的通用性和灵活性。本报警器在软件设计中嵌入了实时微内核操作系统uC/OS—Ⅱ,这使得本报警器在实时性方面有很大的改善和提高,有效的解决了基于前后台软件系统的报警器在报警时出现语音播放不连续的问题。 本报警器是“珠江水域北斗监控示范工程”项目中的一部分即预警部分,目前该报警器已通过各项功能测试,并已安装在多个监控站点上试运行。
上传时间: 2013-07-31
上传用户:hmy2st
·文件列表: software ........\G723anA ........\.......\G723anAe ........\.......\........\g723_1aa_ww7.doc ........\.......\........\Software.zip
上传时间: 2013-07-17
上传用户:caiiicc
特点: 精确度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
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 1.程序分析:(a>b)?a:b这是条件运算符的基本例子。
上传时间: 2015-01-08
上传用户:lifangyuan12
数字运算,判断一个数是否接近素数 A Niven number is a number such that the sum of its digits divides itself. For example, 111 is a Niven number because the sum of its digits is 3, which divides 111. We can also specify a number in another base b, and a number in base b is a Niven number if the sum of its digits divides its value. Given b (2 <= b <= 10) and a number in base b, determine whether it is a Niven number or not. Input Each line of input contains the base b, followed by a string of digits representing a positive integer in that base. There are no leading zeroes. The input is terminated by a line consisting of 0 alone. Output For each case, print "yes" on a line if the given number is a Niven number, and "no" otherwise. Sample Input 10 111 2 110 10 123 6 1000 8 2314 0 Sample Output yes yes no yes no
上传时间: 2015-05-21
上传用户:daguda