16-QAM基带传输系统的Matlab仿真 实现了主要模块二进制信息源输入,16QAM调制,发射滤波器,接收滤波器,采样,均衡,信号检测,16QAM解调,信息还原输出,产生BER曲线图。
上传时间: 2013-12-24
上传用户:llandlu
CRT显示器的运行程序,其主要分为4大部分,1为按键检测,2为模式检测,3为同步信号检测,4为整个主机初始化设置
上传时间: 2013-12-29
上传用户:牧羊人8920
循迹机器人的所有程序,包括信号检测,电机控制,红外避障程序。
上传时间: 2013-12-22
上传用户:皇族传媒
FFA(快速折叠算法),实现噪声中的周期信号检测,及周期估算
上传时间: 2013-12-26
上传用户:thesk123
线谱增强器,用于单频信号检测的线谱增强。
上传时间: 2014-01-19
上传用户:cjl42111
/****************temic*********t5557***********************************/ #include <at892051.h> #include <string.h> #include <intrins.h> #include <stdio.h> #define uchar unsigned char #define uint unsigned int #define ulong unsigned long //STC12C2051AD的SFR定义 sfr WDT_CONTR = 0xe1;//stc2051的看门狗?????? /**********全局常量************/ //写卡的命令 #define write_command0 0//写密码 #define write_command1 1//写配置字 #define write_command2 2//密码写数据 #define write_command3 3//唤醒 #define write_command4 4//停止命令 #define TRUE 1 #define FALSE 0 #define OK 0 #define ERROR 255 //读卡的时间参数us #define ts_min 250//270*11.0592/12=249//取近似的整数 #define ts_max 304//330*11.0592/12=304 #define t1_min 73//90*11.0592/12=83:-10调整 #define t1_max 156//180*11.0592/12=166 #define t2_min 184//210*11.0592/12=194 #define t2_max 267//300*11.0592/12=276 //***********不采用中断处理:采用查询的方法读卡时关所有中断****************/ sbit p_U2270B_Standby = P3^5;//p_U2270B_Standby PIN=13 sbit p_U2270B_CFE = P3^3;//p_U2270B_CFE PIN=6 sbit p_U2270B_OutPut = P3^7;//p_U2270B_OutPut PIN=2 sbit wtd_sck = P1^7;//SPI总线 sbit wtd_si = P1^3; sbit wtd_so = P1^2; sbit iic_data = P1^2;//lcd IIC sbit iic_clk = P1^7; sbit led_light = P1^6;//测试绿灯 sbit led_light1 = P1^5;//测试红灯 sbit led_light_ok = P1^1;//读卡成功标志 sbit fengmingqi = P1^5; /***********全局变量************************************/ uchar data Nkey_a[4] = {0xA0, 0xA1, 0xA2, 0xA3};//初始密码 //uchar idata card_snr[4]; //配置字 uchar data bankdata[28] = {1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7}; //存储卡上用户数据(1-7)7*4=28 uchar data cominceptbuff[6] = {1,2,3,4,5,6};//串口接收数组ram uchar command; //第一个命令 uchar command1;// //uint temp; uchar j,i; uchar myaddr = 8; //uchar ywqz_count,time_count; //ywqz jishu: uchar bdata DATA; sbit BIT0 = DATA^0; sbit BIT1 = DATA^1; sbit BIT2 = DATA^2; sbit BIT3 = DATA^3; sbit BIT4 = DATA^4; sbit BIT5 = DATA^5; sbit BIT6 = DATA^6; sbit BIT7 = DATA^7; uchar bdata DATA1; sbit BIT10 = DATA1^0; sbit BIT11 = DATA1^1; sbit BIT12 = DATA1^2; sbit BIT13 = DATA1^3; sbit BIT14 = DATA1^4; sbit BIT15 = DATA1^5; sbit BIT16 = DATA1^6; sbit BIT17 = DATA1^7; bit i_CurrentLevel;//i_CurrentLevel BIT 00H(Saves current level of OutPut pin of U2270B) bit timer1_end; bit read_ok = 0; //缓存定时值,因用同一个定时器 union HLint { uint W; struct { uchar H;uchar L; } B; };//union HLint idata a union HLint data a; //缓存定时值,因用同一个定时器 union HLint0 { uint W; struct { uchar H; uchar L; } B; };//union HLint idata a union HLint0 data b; /**********************函数原型*****************/ //读写操作 void f_readcard(void);//全部读出1~7 AOR唤醒 void f_writecard(uchar x);//根据命令写不同的内容和操作 void f_clearpassword(void);//清除密码 void f_changepassword(void);//修改密码 //功能子函数 void write_password(uchar data *data p);//写初始密码或数据 void write_block(uchar x,uchar data *data p);//不能用通用指针 void write_bit(bit x);//写位 /*子函数区*****************************************************/ void delay_2(uint x) //延时,时间x*10us@12mhz,最小20us@12mhz { x--; x--; while(x) { _nop_(); _nop_(); x--; } _nop_();//WDT_CONTR=0X3C;不能频繁的复位 _nop_(); } ///////////////////////////////////////////////////////////////////// void initial(void) { SCON = 0x50; //串口方式1,允许接收 //SCON =0x50; //01010000B:10位异步收发,波特率可变,SM2=0不用接收到有效停止位才RI=1, //REN=1允许接收 TMOD = 0x21; //定时器1 定时方式2(8位),定时器0 定时方式1(16位) TCON = 0x40; //设定时器1 允许开始计时(IT1=1) TH1 = 0xfD; //FB 18.432MHz 9600 波特率 TL1 = 0xfD; //fd 11.0592 9600 IE = 0X90; //EA=ES=1 TR1 = 1; //启动定时器 WDT_CONTR = 0x3c;//使能看门狗 p_U2270B_Standby = 0;//单电源 PCON = 0x00; IP = 0x10;//uart you xian XXXPS PT1 PX1 PT0 PX0 led_light1 = 1; led_light = 0; p_U2270B_OutPut = 1; } /************************************************/ void f_readcard()//读卡 { EA = 0;//全关,防止影响跳变的定时器计时 WDT_CONTR = 0X3C;//喂狗 p_U2270B_CFE = 1;// delay_2(232); //>2.5ms /* // aor 用唤醒功能来防碰撞 p_U2270B_CFE = 0; delay_2(18);//start gap>150us write_bit(1);//10=操作码读0页 write_bit(0); write_password(&bankdata[24]);//密码block7 p_U2270B_CFE =1 ;// delay_2(516);//编程及确认时间5.6ms */ WDT_CONTR = 0X3C;//喂狗 led_light = 0; b.W = 0; while(!(read_ok == 1)) { //while(p_U2270B_OutPut);//等一个稳定的低电平?超时判断? while(!p_U2270B_OutPut);//等待上升沿的到来同步信号检测1 TR0 = 1; //deng xia jiang while(p_U2270B_OutPut);//等待下降沿 TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1;//定时器晚启动10个周期 //同步头 if((324 < a.W) && (a.W < 353)) ;//检测同步信号1 else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } //等待上升沿 while(!p_U2270B_OutPut); TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1;//b.N1<<=8; if(a.B.L < 195);//0.5p else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } //读0~7块的数据 for(j = 0;j < 28;j++) { //uchar i; for(i = 0;i < 16;i++)//8个位 { //等待下降沿的到来 while(p_U2270B_OutPut); TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1; if(t2_max < a.W/*)&&(a.W < t2_max)*/)//1P { b.W >>= 2;//先左移再赋值 b.B.L += 0xc0; i++; } else if(t1_min < a.B.L/*)&&(a.B.L < t1_max)*/)//0.5p { b.W >>= 1; b.B.L += 0x80; } else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } i++; while(!p_U2270B_OutPut);//上升 TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1; if(t2_min < a.W/*)&&(a.W < t2_max)*/)//1P { b.W >>= 2; i++; } else if(t1_min < a.B.L/*a.W)&&(a.B.L < t1_max)*/)//0.5P //else if(!(a.W==0)) { b.W >>= 1; //temp+=0x00; //led_light1=0;led_light=1;delay_2(40000); } else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } i++; } //取出奇位 DATA = b.B.L; BIT13 = BIT7; BIT12 = BIT5; BIT11 = BIT3; BIT10 = BIT1; DATA = b.B.H; BIT17 = BIT7; BIT16 = BIT5; BIT15 = BIT3; BIT14 = BIT1; bankdata[j] = DATA1; } read_ok = 1;//读卡完成了 read_error: _nop_(); } } /***************************************************/ void f_writecard(uchar x)//写卡 { p_U2270B_CFE = 1; delay_2(232); //>2.5ms //psw=0 standard write if (x == write_command0)//写密码:初始化密码 { uchar i; uchar data *data p; p = cominceptbuff; p_U2270B_CFE = 0; delay_2(31);//start gap>330us write_bit(1);//写操作码1:10 write_bit(0);//写操作码0 write_bit(0);//写锁定位0 for(i = 0;i < 35;i++) { write_bit(1);//写数据位1 } p_U2270B_CFE = 1; led_light1 = 0; led_light = 1; delay_2(40000);//测试使用 //write_block(cominceptbuff[4],p); p_U2270B_CFE = 1; bankdata[20] = cominceptbuff[0];//密码存入 bankdata[21] = cominceptbuff[1]; bankdata[22] = cominceptbuff[2]; bankdata[23] = cominceptbuff[3]; } else if (x == write_command1)//配置卡参数:初始化 { uchar data *data p; p = cominceptbuff; write_bit(1);//写操作码1:10 write_bit(0);//写操作码0 write_bit(0);//写锁定位0 write_block(cominceptbuff[4],p); p_U2270B_CFE= 1; } //psw=1 pssword mode else if(x == write_command2) //密码写数据 { uchar data*data p; p = &bankdata[24]; write_bit(1);//写操作码1:10 write_bit(0);//写操作码0 write_password(p);//发口令 write_bit(0);//写锁定位0 p = cominceptbuff; write_block(cominceptbuff[4],p);//写数据 } else if(x == write_command3)//aor //唤醒 { //cominceptbuff[1]操作码10 X xxxxxB uchar data *data p; p = cominceptbuff; write_bit(1);//10 write_bit(0); write_password(p);//密码 p_U2270B_CFE = 1;//此时数据不停的循环传出 } else //停止操作码 { write_bit(1);//11 write_bit(1); p_U2270B_CFE = 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /************************************/ void f_clearpassword()//清除密码 { uchar data *data p; uchar i,x; p = &bankdata[24];//原密码 p_U2270B_CFE = 0; delay_2(18);//start gap>150us //操作码10:10xxxxxxB write_bit(1); write_bit(0); for(x = 0;x < 4;x++)//发原密码 { DATA = *(p++); for(i = 0;i < 8;i++) { write_bit(BIT0); DATA >>= 1; } } write_bit(0);//锁定位0:0 p = &cominceptbuff[0]; write_block(0x00,p);//写新配置参数:pwd=0 //密码无效:即清除密码 DATA = 0x00;//停止操作码00000000B for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /*********************************/ void f_changepassword()//修改密码 { uchar data *data p; uchar i,x,addr; addr = 0x07;//block7 p = &Nkey_a[0];//原密码 DATA = 0x80;//操作码10:10xxxxxxB for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } for(x = 0;x < 4;x++)//发原密码 { DATA = *(p++); for(i = 0;i < 8;i++) { write_bit(BIT7); DATA >>= 1; } } write_bit(0);//锁定位0:0 p = &cominceptbuff[0]; write_block(0x07,p);//写新密码 p_U2270B_CFE = 1; bankdata[24] = cominceptbuff[0];//密码存入 bankdata[25] = cominceptbuff[1]; bankdata[26] = cominceptbuff[2]; bankdata[27] = cominceptbuff[3]; DATA = 0x00;//停止操作码00000000B for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /***************************子函数***********************************/ void write_bit(bit x)//写一位 { if(x) { p_U2270B_CFE = 1; delay_2(32);//448*11.0592/120=42延时448us p_U2270B_CFE = 0; delay_2(28);//280*11.0592/120=26写1 } else { p_U2270B_CFE = 1; delay_2(92);//192*11.0592/120=18 p_U2270B_CFE = 0; delay_2(28);//280*11.0592/120=26写0 } } /*******************写一个block*******************/ void write_block(uchar addr,uchar data *data p) { uchar i,j; for(i = 0;i < 4;i++)//block0数据 { DATA = *(p++); for(j = 0;j < 8;j++) { write_bit(BIT0); DATA >>= 1; } } DATA = addr <<= 5;//0地址 for(i = 0;i < 3;i++) { write_bit(BIT7); DATA <<= 1; } } /*************************************************/ void write_password(uchar data *data p) { uchar i,j; for(i = 0;i < 4;i++)// { DATA = *(p++); for(j = 0;j < 8;j++) { write_bit(BIT0); DATA >>= 1; } } } /*************************************************/ void main() { initial(); TI = RI = 0; ES = 1; EA = 1; delay_2(28); //f_readcard(); while(1) { f_readcard(); //读卡 f_writecard(command1); //写卡 f_clearpassword(); //清除密码 f_changepassword(); //修改密码 } }
标签: 12345
上传时间: 2017-10-20
上传用户:my_lcs
本书中文版包括“2006-07-01”“2010-04-01”“2012-05-01”“2014-01-01 ”若干个版本,本次上传为2006版7月第一次印刷。内容简介《雷达系统导论》(第三版)共分11章,主要内容包括雷达基本原理和方程,现代雷达技术体制,动目标指示和多普勒雷达技术,跟踪雷达技术,噪声中信号检测技术,雷达信号的信息提取技术,雷达杂波特性、雷达波传播特点等,并详细介绍了雷达天线、雷达发射机和雷达接收机等分系统技术。本书系统覆盖了现代雷达的理论与技术,内容系统、完整。每章后都附有大量习题及参考文献,便于读者进一步学习和研究。本书可作为高等院校电子工程专业的高年级本科生和研究生参考教材,也可作为相关专业工程技术人员参考用书。作者简介Skolnik博士:美国国家工程院院士,IEEE会士。担任美国海军研究实验室雷达分部负责人已有30余年,第一个在雷达技术与应用方面获得IEEE Dennis J.Picard奖章;同时是IEEE Harry钻石奖,Johns Hopkins大学著名男毕业生奖,以及美国海军著名文官服务奖的获得者。目 录第1章 雷达简介1.1 基本雷达1.2 雷达方程的简单形式1.3 雷达框图1.4 雷达频率1.5 雷达的应用1.6 雷达的起源参考文献习题第2章 雷达方程2.1 引言2.2 噪声中信号的检测2.3 接收机噪声和信-噪比2.4 概率密度函数2.5 检测和虚警概率2.6 雷达脉冲的积累2.7 目标雷达横截面积2.8 雷达横截面积的起伏2.9 发射机功率2.10 脉冲重复频率2.11 天线参数2.12 系统损耗2.13 其他有关雷达方程的考虑参考文献习题第3章 MTI雷达和脉冲多普勒雷达3.1 引言3.2 延迟线对消器3.3 参差脉冲重复频率3.4 多普勒滤波器组3.5 数字MTI处理3.6 运动目标检测器3.7 MTI性能的限制3.8 运动平台的MTI(AMTI)3.9 脉冲多普勒雷达3.10 其他的多普勒雷达参考文献习题第4章 跟踪雷达4.1 用雷达跟踪4.2 单脉冲跟踪4.3 圆锥扫描和顺序波束转换4.4 跟踪精度的限制4.5 低角跟踪4.6 距离跟踪4.7 其他有关跟踪雷达的专题4.8 跟踪雷达的比较4.9 监视雷达自动跟踪参考文献习题第5章 噪声中的信号检测...参考文献习题第6章 雷达信号的信息...
标签: 雷达
上传时间: 2022-03-21
上传用户:ttalli
《相控阵雷达原理》是《相控阵雷达技术丛书》的总体分册,共11章。前7章介绍相控阵天线(包括有源相控阵天线)、馈线网络原理、相控阵雷达天线波束指向、波束形状的捷变能力及发射和接收多波束形成方法及相控阵雷达主要工作方式。后4章讨论相控阵雷达信号检测,角度、速度和特征参数测量的原理与方法,对有关相控阵技术包括宽带相控阵雷达技术也进行了简要介绍。《相控阵雷达原理》从相控阵雷达系统角度讨论问题,对深入了解《相控阵雷达技术丛书》中各分册的内容是一种概括和补充。《相控阵雷达原理》可供从事雷达、通信、电子对抗/反对抗、导航等专业的科研、教学、使用人员参考,也可作为相关高校教师和学生的参考书。
上传时间: 2022-04-17
上传用户:
目录1.1 电器智能化概述1.2 电器智能化技术的应用1.3 电器智能化技术的发展1.4 本课程学习内容第2章 智能电器的一次设备2.1 智能电器一次设备的功能及分类2.2 断路器及其智能控制2.3 接触器及其智能控制2.4 其他一次开关元件2.5 成套开关设备第3章 现场参量及其检测3.1 智能电器现场参量类型及数字化测量方法3.2 电量信号检测方法3.3 非电量信号检测方法3.4 被测量输入通道设计原理3.5 测量通道的误差分析第4章 被测模拟量的信号分析与处理4.1 被测模拟量的信号分类4.2 被测模拟量的采样及采样速率的确定4.3 数字滤波4.4 非线性传感器测量结果的数字化处理4.5 被测电参量的测量和保护算法第5章 智能电器监控器的设计5.1 智能电器监控器的功能和硬件模块的划分5.2 中央处理与控制模块的一般结构和设计方法5.3 其他功能模块的结构组成5.4 监控器的时序设计5.5 监控器的软件设计5.6 RTOS概念及其在监控器软件中的实现第6章 智能电器监控器的电磁兼容性设计6.1 电磁兼容概述6.2 智能电器监控器的电磁兼容性设计问题6.3 智能电器监控器的EMI测试标准和方法第7章 电器智能化网络7.1 数字通信基础7.2 计算机网络基础7.3 电器智能化网络中常用的现场总线7.4 电器智能化网络的设计与实施7.5 电器智能化局域网的软件开发7.6 关于网络互连技术的讨论第8章 智能电器及其应用系统设计实例8.1 低压塑壳式断路器的智能脱扣器设计8.2 电能质量在线监测器8.3 分布式变电站自动化系统
标签: 电器智能化
上传时间: 2022-05-13
上传用户:
本书论述现代雷达体制,兼述雷达波形和雷达信号检测等理论,还介绍了能反映近代雷达变革的新技术和新体制。
标签: 雷达
上传时间: 2022-05-20
上传用户: