.巴克码的编码设计与仿真兰州理工大学
- 格式:docx
- 大小:452.96 KB
- 文档页数:24
之马矢奏春创作创作时间:二零二一年六月三十日是比力容易实现的, 这里以七位巴克码为例, 用7级移位寄存器、相加器和判决器就可以组成一识别器, 具体结构如图716所示.7级移位寄存器的1、0端输出依照1110010的顺序连接到相加器输入, 接法与巴克码的规律一致.当输入数据的“1”存入移位寄存器时, “1”真个输出电平为+1, 而“0”真个输出电平为1;反之, 存入数据“0”时, “0”真个输出电平为+1, “1”真个电平为1.当发送端送来的码元自右向左进入时, 首先考虑一个简单的情况:假设只计算巴克码(1110010)进入的几个移位寄存器的输出, 此时将有巴克码进入一位, 二位……七位全部进入, 第一位移出尚留六位……前六位移出只留一位等13种情况.经过计算可得相加器的输出就是自相关函数, 设码元进入移位寄存器数目为a, 码元尚留在移位寄存器的数目是b, 这是就可以获得a、b和j之间的关系式图7167位巴克码识别器(738)根据上述关系可以获得表72, 它反映了相加器输出与a、b之间的关系.a a=b b巴克码进入(或留下)位数1 2 3 4 5 6 7 6 5 4 3 2 1相加器输出 1 0 1 0 1 0 7 0 1 0 1 0 1实际上述群同步码的前后都是有信息码的, 具体情况如图717(a)所示, 在这种情况下巴克码识别器的输出波形如图717(b)所示.图717 识别器输入和输出波形当七位巴克码在图717中的t1时刻, 正好已全部进入了7级移位寄存器, 这时7个移位寄存器输出端都输出+1, 相加后得最年夜输出+7, 如图717(b)所示, 而判决器输出的两个脉冲之间的数据, 称为一群数据或称为一帧数据.固然, 对信息而言, 由于其具有的随机特性, 可以考察一种最晦气的情况:即当巴克码只有部份码在移位寄存器时, 信息码占有的其它移位寄存器的输出全部是+1, 在这样一种对群同步最晦气的情况下, 相加器的输出将如表73所示.由此可获得相加器的输出波形如图718所示.图中横坐标用a暗示, 由a、b和j之间的关系可知, .表73A a=b b巴克码进入(或留下)位数1 2 3 4 5 6 7 6 5 4 3 2 1相加器输出 5 5 3 3 1 1 7 1 1 3 3 5 5由图718可以看出, 如果判决电平选择为6, 就可以根据a=7时相加器输出的7, 年夜于判决电平6而判定巴克码全部进入移位寄存器的位置.此时识别器输出一个群同步脉冲, 暗示群的开头.一般情况下, 信息码不会正好都使移位寄存器的输出均为+1, 因此实际上更容易判定巴克码全部进入移位寄存器的位置.后面还要讲到如果巴克码中有误码时, 只要错一个码, 当a=7时相加器输出将由7酿成5, 低于判决器的判决电平.因此, 为了提高群同步的抗干扰性能, 防止漏同步, 判决电平可以改为4.但改为4以后容易发生假同步, 这些问题在性能分析时要进一步讨论.创作时间:二零二一年六月三十日。
摘要本课程设计介绍了一种简单的关于双音多频信号的产生与检测的方法。
首先设计了关于双音多频(DTMF)信号的产生与检测的电路图,其中核心部件是MT8870和MC74HC4511;然后通过matlab仿真软件完成对双音多频信号的检测,并采用Goertzel算法对信号进行频谱分析。
关键字:双音多频信号,matlab,Goertzel目录第1章绪论....................................... 错误!未定义书签。
第2章双音多频(DTMF)信号的设计 ................. 错误!未定义书签。
2.1设计目的及意义 .............................. 错误!未定义书签。
2.2双音多频(DTMF)信号的组成 .................. 错误!未定义书签。
2.3DTMF信号的应用 .............................. 错误!未定义书签。
2.4仿真软件介绍 ................................ 错误!未定义书签。
PROTEL软件概述 ................................. 错误!未定义书签。
MATLAB软件概述 ................................. 错误!未定义书签。
2.5电路设计中的核心器件 ........................ 错误!未定义书签。
2.6主要参数设置 ................................ 错误!未定义书签。
3.1双音多频信号的产生 .......................... 错误!未定义书签。
3.2双音多频信号检测 ............................ 错误!未定义书签。
3.3MATLAB工具箱函数GOERTZEL...................... 错误!未定义书签。
巴克码检测课程设计一、课程目标知识目标:1. 学生能理解巴克码的基本概念,掌握其编码规则及特点;2. 学生能运用巴克码进行错误检测,并了解其在通信系统中的应用;3. 学生了解数字信号处理的基本原理,理解巴克码在信号检测中的作用。
技能目标:1. 学生具备独立编写巴克码编码程序的能力,能通过编程实现错误检测;2. 学生能够运用所学知识,分析实际通信系统中巴克码的应用案例,提出优化方案;3. 学生能够运用巴克码检测错误,培养解决问题的能力。
情感态度价值观目标:1. 学生通过学习巴克码检测,培养对通信科学的兴趣,激发探索精神;2. 学生在学习过程中,养成合作、分享、尊重他人成果的良好品质;3. 学生能够认识到科技发展对国家和社会的重要性,增强社会责任感。
课程性质:本课程为信息技术与通信科学领域的一节实践性课程,通过巴克码检测的学习,培养学生的编程能力、问题解决能力和团队合作精神。
学生特点:六年级学生具备一定的编程基础和逻辑思维能力,对通信科学有一定的好奇心,喜欢探索和实践。
教学要求:结合学生特点,注重理论与实践相结合,鼓励学生动手实践,培养其创新能力和实际操作能力。
在教学过程中,关注学生的个体差异,提供有针对性的指导。
通过课程学习,使学生达到上述课程目标,为后续学习打下坚实基础。
二、教学内容1. 巴克码基本概念:巴克码的定义、特点及其在通信系统中的应用;2. 编码规则:巴克码的编码方法,奇偶校验原理;3. 错误检测:巴克码检测错误的能力,错误检测原理;4. 数字信号处理:数字信号处理基本原理,巴克码在信号检测中的作用;5. 编程实践:编写巴克码编码程序,实现错误检测功能;6. 应用案例分析:分析巴克码在通信系统中的应用案例,探讨优化方案;7. 实践项目:分组合作,完成巴克码检测错误实践项目,培养团队合作能力。
教学大纲安排:第一课时:巴克码基本概念、编码规则;第二课时:错误检测原理、数字信号处理基本原理;第三课时:编程实践,编写巴克码编码程序;第四课时:应用案例分析,探讨优化方案;第五课时:实践项目,分组合作完成巴克码检测错误项目。
*****************实践教学*****************兰州理工大学计算机与通信学院2013年秋季学期通信系统综合训练题目:巴克码识别器的设计与仿真专业班级:姓名:学号:指导教师:彭铎成绩:摘要巴克码是一种具有特殊规律的二进制码组,它是一种非周期序列。
是目前已找到的最常用的群同步码字之一。
它具有尖锐的自相关特性,便于与随机的数字信息相区别,易于识别,出现伪同步的可能性小。
本次课程设计是在掌握群同步码巴克码的基础上,利用MATLAB完成对巴克码识别器的设计。
关键字:巴克码识别器,MATLAB目录前言 (1)1.基本原理 (2)1.1目的及意义 (2)1.2群同步 (2)1.3巴克码 (3)1.4系统设计框图 (3)1.5MATLAB仿真软件 (4)2.系统分析 (6)2.1巴克码的发生 (6)2.2巴克码的判决 (7)2.3巴克码的同步 (8)2.4群同步码 (9)2.5移位寄存器 (10)2.6同步字符的识别性能 (11)3.系统设计与调试 (13)3.1设计思路 (13)3.2调试结果: (14)设计总结 (16)参考文献 (17)致谢 (18)附录 (19)前言同步是通信系统中一个重要的实际问题。
通信系统中的同步可分为载波同步、位同步、帧同步等几大类。
在通信系统中,同步具有相当重要的地位。
通信系统能否有效地、可靠地工作,很大程度上依赖于有无良好的同步系统。
因此,如何使系统同步,如何保持同步,成为现代数字通信系统设计者所面临的重要课题。
在数字通信时,一般总是以一定数目的码元组成一个个的“字”或“句”,即组成一个个的“群”进行传输的。
因此,在接收这些数字流时,同样也必须知道这些“字”、“句”的起止时刻,在接收端产生与“字”、“句”起止时刻相一致的定时脉冲序列,统称为群同步或帧同步。
群同步信号的频率很容易由位同步信号经分频而得出。
但是,每个群的开头和末尾时刻却无法由分频器的输出决定。
*******************实践教学*******************兰州理工大学计算机与通信学院2012年春季学期计算机通信与网络课程设计题目:差错控制编码的编译码设计与仿真专业班级:09级通信一班姓名:李杰学号:09250106指导教师:彭铎成绩:摘要通信系统必须具备发现及检测差错的能力,并采取措施纠正,使差错控制在所能允许的尽可能小的范围内,这就是差错控制过程,也是数据链路层的主要功能之一。
本课程设计编辑了巴克码的编码和译码的程序,并实现了它的编译码过程;该程序可以对输入的5位的信息码进行巴克码编码,对于接收到的5位码字可以进行译码,从而判定是否是巴克码,整个过程是用MATLAB语言实现的。
关键词:编码;译码;MATLAB;巴克码目录前言 (1)第1章基本原理 (2)1.1 设计目的及意义 (2)1.2 巴克码与帧同步 (2)1.3 巴克码的产生和识别 (5)第2章 MATLAB软件与介绍 (8)2.1 MATLAB软件的特点 (8)2.2 现有工业控制系统 (10)2.3 MATLAB应用的工业控制系统中去的应用前景 (10)第3章仿真过程及结果分析 (11)3.1 程序流程图 (11)3.2 仿真程序 (13)3.3 程序仿真图 (15)参考文献 (20)总结 (21)致谢.................................................................................................................... 错误!未定义书签。
前言在通信系统中,同步技术起着相当重要的作用。
通信系统能否有效地、可靠地工作,很大程度上依赖于有无良好的同步系统。
通信系统中的同步可分为载波同步、位同步、帧同步等几大类。
当采用同步解调或相干检测时,接收端需要提供一个与发射端调制载波同频同相的相干载波,获得此相干载波的过程称为载波提取,或称为载波同步。
巴克码自相关波形摘要:1.巴克码的概述2.巴克码的自相关波形3.巴克码自相关波形的应用正文:1.巴克码的概述巴克码是一种用于数据编码和解码的技术,它可以将数据以特定的波形进行传输。
巴克码是由美国的克劳德·香农(Claude Shannon)在1948 年提出的,其主要思想是通过编码将信息转化为特定的波形,然后通过解码将波形还原为原始信息。
巴克码具有抗干扰能力强、传输速率稳定等优点,被广泛应用于通信领域。
2.巴克码的自相关波形巴克码的自相关波形是指巴克码在时间上的分布特征。
具体来说,巴克码的自相关波形是指在一定时间内,巴克码的值与其自身或其他时间的值之间的相关性。
巴克码的自相关波形具有如下特点:(1)在时间上的局部相关性:巴克码的自相关波形在时间上呈现出局部相关性,即在一段时间内,巴克码的值与其自身的值或其他时间的值之间存在较强的相关性。
(2)自相关波形的零点:巴克码的自相关波形在某些点上具有零点,这些零点被称为自相关波形的零点。
自相关波形的零点可以用来判断巴克码的相位,从而在解码过程中起到关键作用。
3.巴克码自相关波形的应用巴克码自相关波形在通信领域具有广泛的应用,主要包括以下几个方面:(1)数据解码:在数据传输过程中,由于受到各种干扰,数据在接收端可能会发生畸变。
通过分析巴克码的自相关波形,可以判断数据传输过程中是否发生畸变,从而实现对数据的解码。
(2)信道均衡:在数据传输过程中,信号会受到信道特性的影响,如时延、衰减等。
通过分析巴克码的自相关波形,可以对信道进行均衡,从而提高信号传输的质量。
(3)误码检测与纠错:在数据传输过程中,信号可能会受到噪声等干扰,导致接收端出现误码。
通过分析巴克码的自相关波形,可以检测出误码并实现纠错,从而提高数据传输的可靠性。
摘要本课程设计主要是利用QUARTERSⅡ设计一个8位巴克码代码发生器,当识别到一组代码时,输出一个高电平脉冲。
巴克码主要用于通信系统中的帧同步,其特点是具有尖锐的自相关函数,便于与随机的数字信息相区别,易于识别,出现伪同步的可能性小。
巴克码是一种具有特殊规律的二进制码组,它是一种非周期序列。
关键词:QUARTERSⅡ,巴克码,信号发生器,序列1绪论在通信系统中,同步技术起着相当重要的作用。
通信系统能否有效地、可靠地工作,很大程度上依赖于有无良好的同步系统。
通信系统中的同步可分为载波同步、位同步、帧同步等几大类。
当采用同步解调或相干检测时,接收端需要提供一个与发射端调制载波同频同相的相干载波,获得此相干载波的过程称为载波提取,或称为载波同步。
而在数字通信中,消息是一串连续的信号码元序列,解调时常须知道每个码元的起止时刻。
因此,就要求接收端必须能产生一个用作定时的脉冲序列,以便与接收的每一个码元的起止时刻一一对齐。
在接收端产生与接收码元的重复频率和相位一致的定时脉冲序列的过程称为码元同步或位同步。
数字通信中的消息数字流总是用若干码元组成一个“字”,又用若干“字”组成一“句”。
因此,在接收这些数字流时,同样也必须知道这些“字”、“句”的起止时刻,在接收端产生与“字”、“句”起止时刻相一致的定时脉冲序列,统称为群同步或帧同步。
当通信是在两点之间进行时,完成了载波同步、位同步和帧同步之后,接收端不仅获得了相干载波,而且通信双方的时标关系也解决了,这时,接收端就能以较低的错误概率恢复出数字信息。
在数字通信系统中,实现帧同步的方法通常有两种:起止式同步法和集中式插入同步法。
起止式同步比较简单,一般是在数据码元的开始和结束位置加入特定的起始和停止脉冲来表示数据帧的开始和结束。
另外在计算机RS232串口通信中通常也使用类似方法。
而在集中式插入同步法中,要求插入的同步码在接收端进行同步识别时出现伪同步的概率尽可能小,并且要求该码组具有尖锐的自相关函数以便于识别。
第1篇实验名称:基于仿真平台的编码算法性能评估实验日期:2023年4月10日实验地点:计算机实验室实验目的:1. 了解编码算法的基本原理和应用场景。
2. 通过仿真实验,评估不同编码算法的性能。
3. 分析编码算法在实际应用中的优缺点。
实验环境:1. 操作系统:Windows 102. 编译器:Visual Studio 20193. 仿真平台:MATLAB 2020a4. 编码算法:Huffman编码、算术编码、游程编码实验内容:1. 编写Huffman编码算法,实现字符序列的编码和解码。
2. 编写算术编码算法,实现字符序列的编码和解码。
3. 编写游程编码算法,实现字符序列的编码和解码。
4. 在仿真平台上,分别对三种编码算法进行性能评估。
实验步骤:1. 设计Huffman编码算法,包括构建哈夫曼树、编码和解码过程。
2. 设计算术编码算法,包括编码和解码过程。
3. 设计游程编码算法,包括编码和解码过程。
4. 编写仿真实验代码,对三种编码算法进行性能评估。
5. 分析实验结果,总结不同编码算法的优缺点。
实验结果及分析:一、Huffman编码算法1. 编码过程:- 对字符序列进行统计,计算每个字符出现的频率。
- 根据频率构建哈夫曼树,叶子节点代表字符,分支代表编码。
- 根据哈夫曼树生成编码,频率越高的字符编码越短。
2. 解码过程:- 根据编码,从哈夫曼树的根节点开始,沿着编码序列遍历树。
- 当遍历到叶子节点时,输出对应的字符。
3. 性能评估:- 编码长度:Huffman编码的平均编码长度最短,编码效率较高。
- 编码时间:Huffman编码算法的编码时间较长,尤其是在构建哈夫曼树的过程中。
二、算术编码算法1. 编码过程:- 对字符序列进行统计,计算每个字符出现的频率。
- 根据频率,将字符序列映射到0到1之间的实数。
- 根据映射结果,将实数序列编码为二进制序列。
2. 解码过程:- 对编码的二进制序列进行解码,得到实数序列。
巴克码自相关波形摘要:1.巴克码的简介2.巴克码的自相关波形特性3.巴克码在通信中的应用4.巴克码的优缺点5.我国在巴克码研究和发展方面的成果正文:一、巴克码的简介巴克码(Barker Code)是一种线性分组码,它的编码方式具有较好的自相关特性。
巴克码是由美国数学家Claude Shannon和英国电气工程师Rudolf K.approaches共同提出的,主要用于数字通信系统中,以提高信号传输的可靠性。
二、巴克码的自相关波形特性巴克码的自相关波形具有如下特点:1.码元长度:巴克码的码元长度为2的整数次幂,如4、8、16等。
2.编码方式:巴克码采用线性分组编码,编码后的信号具有较低的相关性。
3.相关性:巴克码的自相关函数在码元间隔内呈现为矩形波,而在码元间隔外则迅速衰减至接近零。
4.码间干扰:由于巴克码具有较低的相关性,码间干扰较小,有利于提高信号传输的可靠性。
三、巴克码在通信中的应用巴克码在通信领域有广泛的应用,如在数字调制、信道编码、数据传输等方面都有显著的优势。
特别是在多址接入技术中,巴克码可以有效降低码间干扰,提高信号传输的效率。
四、巴克码的优缺点优点:1.较低的码间干扰,有利于提高通信质量。
2.简单的编码和译码算法,降低系统复杂度。
3.良好的自相关特性,有助于提高信号传输的可靠性。
缺点:1.码率较低,传输速率受限。
2.编码长度受限,不利于高速数据传输。
五、我国在巴克码研究和发展方面的成果近年来,我国在巴克码研究和发展方面取得了显著成果。
不仅在理论研究上有所突破,还成功将其应用于实际通信系统中,提高了通信质量。
未来,我国将继续加大对巴克码等编码技术的研究力度,推动通信技术的发展。
总之,巴克码作为一种具有良好自相关特性的线性分组码,在我国通信领域具有重要地位。
在多址接入、信道编码等方面具有广泛的应用前景。
巴克码—线性调频脉冲多普勒雷达matlab代码%% 雷达系统仿真 %%% 发射信号为13位巴克码和线性调频混合调制的信号,线性调频的中心频率为30MHz, % 调频带宽为4MHz,每一位码宽为10微秒,发射信号的帧周期为1毫秒 % 该雷达具有数字化正交解调、数字脉冲处理、固定目标对消、动目标检测(MTD)、 % 和恒虚警(CFAR)处理等功能close all;clear all;clc;%%%%%%%%%%%%%%% 产生雷达发射信号 %%%%%%%%%%%%% code=[1,1,1,1,1,-1,-1,1,1,-1,1,-1,1]; % 13位巴克码tao=10e-6; % 脉冲宽度10usfc=28e6; % 调频信号起始频率f0=30e6; % 调频信号中心频率fs=100e6; % 采样频率ts=1/fs; % 采样间隔B=4e6; % 调频信号调频带宽t_tao=0:1/fs:tao-1/fs; % 调制信号,对于线性调频来说,调制信号就是时间序列N=length(t_tao);k=B/fs*2*pi/max(t_tao); % 调制灵敏度,也就是线性调频的步进系数n=length(code);pha=0;s=zeros(1,n*N);for i=1:nif code(i)==1pha=pi;else pha = 0;ends(1,(i-1)*N+1:i*N)=cos(2*pi*fc*t_tao+k*cumsum(t_tao)+pha);endt=0:1/fs:n*tao-1/fs;figure,subplot(2,1,1),plot(t,s); xlabel('t(单位:S)'),title('混合调制信号(13为巴克码+线性调频)'); s_fft_result=abs(fft(s(1:N)));subplot(2,1,2),plot((0:fs/N:fs/2-fs/N),abs(s_fft_result(1:N/2)));xlabel('频率(单位:Hz)'),title('码内信号频谱');%%%%%%%%%%%%%%%%%%% 产生脉冲压缩系数 %%%%%%%%%%%%%%%% %--------------------- 正交解调 --------------------% N=tao/ts;n=0:N-1;s1=s(1:N);local_oscillator_i=cos(2*pi*f0/fs*n); % I路本振信号local_oscillator_q=sin(2*pi*f0/fs*n); % Q路本振信号fbb_i = local_oscillator_i.*s1; % I路解调fbb_q = local_oscillator_q.*s1; % Q路解调window=chebwin(51,40); % 50阶cheby窗的FIR低通滤波器[b,a]=fir1(50,2*B/fs,window);fbb_i=[fbb_i,zeros(1,25)]; % 因为该FIR滤波器有25个采样周期的延迟,为了保证% 所有有效信息全部通过滤波器,故在信号后补25个0fbb_q=[fbb_q,zeros(1,25)];fbb_i=filter(b,a,fbb_i);fbb_q=filter(b,a,fbb_q);fbb_i=fbb_i(26:end); % 截取有效信息fbb_q=fbb_q(26:end); % 截取有效信息fbb=fbb_i+j*fbb_q;%-------- 产生理想线性调频脉冲压缩匹配系数 ---------% D = B*tao;match_filter_1=ts*fliplr(conj(fbb))*sqrt(D)*2/tao;NFFT = 131126;%2^nextpow2(length(s));match_filter_1_fft=fft(match_filter_1,NFFT); % 第一次脉冲压缩处理匹配系数 figure;subplot(2,1,1),plot(real(match_filter_1_fft)),title('脉冲压缩系数(实部)'); subplot(2,1,2),plot(imag(match_filter_1_fft)),title('脉冲压缩系数(虚部)');N=length(s);n=0:N-1;local_oscillator_i=cos(2*pi*f0/fs*n); % I路本振信号local_oscillator_q=sin(2*pi*f0/fs*n); % Q路本振信号fbb_i = local_oscillator_i.*s; % I路解调fbwindow=chebwin(51,40); % 50阶cheby窗的FIR低通滤波器[b,a]=fir1(50,0.5,window);fbb_i=[fbb_i,zeros(1,25)]; % 因为该FIR滤波器有25个采样周期的延迟,为了保证% 所有有效信息全部通过滤波器,故在信号后补25个0fbb_q=[fbb_q,zeros(1,25)];fbb_i=filter(b,a,fbb_i);fbb_q=filter(b,a,fbb_q);fbb_i=fbb_i(26:end); % 截取有效信息fbb_q=fbb_q(26:end); % 截取有效信息signal=fbb_i+j*fbb_q;clear fbb_i;clear fbb_q;clear local_oscillator_i;clearlocal_oscillator_q;signal_fft=fft(signal,NFFT);pc_result_fft=signal_fft.*match_filter_1_fft;pc_result=ifft(pc_result_fft,NFFT); figure,plot((0:ts:length(signal)*ts-ts),pc_result(1:length(signal)));xlabel('t(单位:S)'),title('回波脉冲压缩处理结果');t=tao*length(code);match_filter_2=2*ts*fliplr(conj(pc_result))*2/t;match_filter_2_fft=fft(match_filter_2,NFFT); % 第二次脉冲压缩处理匹配系数figure;subplot(2,1,1),plot(real(match_filter_2_fft)),title('脉冲压缩系数(实部)');subplot(2,1,2),plot(imag(match_filter_2_fft)),title('脉冲压缩系数(虚部)');%%%%%%%%%%%%%%%%%%% 产生雷达回波 %%%%%%%%%%%%%%%%f_frame=1e3; % 雷达发射信号重复频率T_frame=1/f_frame;N_echo_frame=18;f_doppler=3.5e3; % 动目标的多普勒频率t_frame=0:ts:T_frame-ts;t_mobj=200e-6; % 动目标位置echo_mobj_pulse=[zeros(1,t_mobj/ts),s,zeros(1,(T_frame-t_mobj)/ts-length(s))];echo_mobj=repmat(echo_mobj_pulse,1,N_echo_frame);t_doppler=0:ts:N_echo_frame*T_frame-ts;s_doppler=cos(2*pi*f_doppler*t_doppler);s_echo_mobj=echo_mobj.*s_doppler;t_fobj=450e-6; % 固定目标位置echo_fobj_pulse=[zeros(1,t_fobj/ts),s,zeros(1,(T_frame-t_fobj)/ts-length(s))];echo_fobj=repmat(echo_fobj_pulse,1,N_echo_frame);t_clutter=700e-6; % 杂波位置t_clutter_pulse=39e-6;sigma=2; % 杂波瑞利分布参数sigmat1=0:ts:t_clutter_pulse-ts;u=rand(1,length(t1));echo_clutter=0.08*sqrt(2*log(1./u))*sigma; % 产生瑞利分布信号s_echo_clutter_pulse=[zeros(1,t_clutter/ts),echo_clutter,...zeros(1,(T_frame-t_clutter)/ts-length(echo_clutter))];s_echo_clutter=repmat(s_echo_clutter_pulse,1,N_echo_frame);s_noise=0.1*rand(1,N_echo_frame*T_frame/ts);s_echo=s_echo_mobj+echo_fobj+s_echo_clutter+s_noise;%--------------------- 正交解调 --------------------%N=N_echo_frame*T_frame/ts;n=0:N-1;local_oscillator_i=cos(2*pi*f0/fs*n); % I路本振信号local_oscillator_q=sin(2*pi*f0/fs*n); % Q路本振信号s_echo_i = local_oscillator_i.*s_echo; % I路解调s_echo_q = local_oscillator_q.*s_echo; % Q路解调window=chebwin(51,40); % 50阶cheby窗的FIR低通滤波器[b,a]=fir1(50,2*B/fs,window);s_echo_i=[s_echo_i,zeros(1,25)]; % 因为该FIR滤波器有25个采样周期的延迟 % 所有有效信息全部通过滤波器,故在信号后补25个s_echo_q=[s_echo_q,zeros(1,25)];s_echo_i=filter(b,a,s_echo_i);s_echo_q=filter(b,a,s_echo_q);s_echo_i=s_echo_i(26:end); % 截取有效信息s_echo_q=s_echo_q(26:end); % 截取有效信息s_echo_mf=s_echo_i+j*s_echo_q;%%%%%%%%%%%%%%%%%%%%% 脉冲压缩处理 %%%%%%%%%%%%%%%%%%s_pc_result = zeros(N_echo_frame,NFFT);for i=1:N_echo_frames_echo_fft_result=fft(s_echo_mf(1,(i-1)*T_frame/ts+1:i*T_frame/ts),NFFT);s_pc_fft_1=s_echo_fft_result.*match_filter_1_fft;s_pc_fft_2=s_pc_fft_1.*match_filter_2_fft;s_pc_result(i,:)=ifft(s_pc_fft_2,NFFT);ends_pc_result_1=s_pc_result';s_pc_result_1=reshape(s_pc_result_1,1,N_echo_frame*NFFT);figure,subplot(2,1,1),plot((0:ts:N_echo_frame*NFFT*ts-ts),real(s_pc_result_1));xlabel('t(单位:S)'),title('脉冲压缩处理后结果(实部)');subplot(2,1,2),plot((0:ts:N_echo_frame*NFFT*ts-ts),imag(s_pc_result_1)); xlabel('t(单位:S)'),title('脉冲压缩处理后结果(虚部)');%%%%%%%%%%%%%%%%%%%%% 固定杂波对消处理 %%%%%%%%%%%%%%%%%%S_MTI_result = zeros(N_echo_frame-2,NFFT);for i=1:N_echo_frame-2S_MTI_result(i,:)=s_pc_result(i,:)+s_pc_result(i+2,:)-2*s_pc_result(i+1,:);endS_MTI_result_1=S_MTI_result';S_MTI_result_1=reshape(S_MTI_result_1,1,(N_echo_frame-2)*NFFT); figure,subplot(2,1,1),plot((0:ts:(N_echo_frame-2)*NFFT*ts-ts),real(S_MTI_result_1));xlabel('t(单位:S)'),title('固定杂波对消后结果(实部)');subplot(2,1,2),plot((0:ts:(N_echo_frame-2)*NFFT*ts-ts),imag(S_MTI_result_1));xlabel('t(单位:S)'),title('固定杂波对消后结果(虚部)');clear S_MTI_result_1;%%%%%%%%%%%%%%%%%%%%% MTD处理和求模 %%%%%%%%%%%%%%%%%%S_MTD_result_1 = fft(S_MTI_result,N_echo_frame-2);S_MTD_result=abs(max(S_MTD_result_1));figure,plot((0:ts:NFFT*ts-ts),S_MTD_result); xlabel('t(单位:S)'),title('MTD处理后求模结果(信号最大通道)');%%%%%%%%%%%%%%%%%%%%% CFAR处理 %%%%%%%%%%%%%%%%%%cfar_result = zeros(1,NFFT);cfar_result(1,1)=S_MTD_result(1,1)/(sqrt(2)/pi*mean(S_MTD_result(1,2 :17)));% 第1点恒虚警处理的噪声均值由其后面的16点的噪声决定for i=2:16% 第2点到第16点恒虚警处理的噪声均值由其前面和后面16点的噪声共同决定noise_mean=sqrt(2)/pi*(mean(S_MTD_result(1,1:i-1))+mean(S_MTD_result(1,i+1:i+16)))/2;cfar_result(1,i)=S_MTD_result(1,i)/noise_mean; endfor i=17:NFFT-17% 正常的数据点的恒虚警处理的噪声均值由其前面和后面各16点的噪声中的大者决定noise_mean=sqrt(2)/pi*max(mean(S_MTD_result(1,i-16:i-1)),mean(S_MTD_result(1,i+1:i+16)));cfar_result(1,i)=S_MTD_result(1,i)/noise_mean; endfor i=NFFT-16:NFFT-1% 倒数第16点到倒数第2点恒虚警处理的噪声均值由其前面16点和后面的噪声共同决 noise_mean=sqrt(2)/pi*(mean(S_MTD_result(1,i-16:i-1))+mean(S_MTD_result(1,i+1:NFFT)))/2;cfar_result(1,i)=S_MTD_result(1,i)/noise_mean; endcfar_result(1,NFFT)=S_MTD_result(1,NFFT)/(sqrt(2)/pi*mean(S_MTD_resu lt(1,NFFT-16:NFFT-1)));figure,plot((0:ts:NFFT*ts-ts),cfar_result); xlabel('t(单位:S)'),title('采用恒虚警处理结果');。