M序列的产生和性能分析

更新时间:2024-04-10 19:24:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

M序列的产生和性能分析

摘 要

在扩频函数中,伪随机信号不但要求具有尖锐的互相关函数,互相关函数应接近于零,而且具有足够长的码周期,以确保抗侦破、抗干扰的要求;由足够多的独立地址数,以实现码分多址的要求。M序列是伪随机序列的一种,可由m序列添加全0状态而得到。m序列与M序列对比得出在同级移位寄存器下M序列的数量远远大于m序列数量,其可供选择序列数多,在作跳频和加密码具有极强的抗侦破能力。

本文在matlab中的Simulink下用移位寄存器建立了4级、5级、6级M序列的仿真模型,进行了仿真,画出其时域图、频谱图、互相关性图。通过时域图和频域图可看出,经过扩频后的信号频带明显的被扩展;由M序列互相关性图,得出M序列有较小的互相关性,较强的自相关性,但相关性略差于m序列。最后,本文又将M序列应用于CDMA扩频通信仿真系统中,得到下列结论:当使用与扩频时相同的M序列做解扩操作与用其他序列做解扩的输出有巨大的差别。使用相同的序列进行解扩时系统输出值很大,而使用其他序列解扩时输出值在零附近变化。这就是扩频通信的基础。

关键词:伪随机编码, 扩频通信自相关函数,互相关函数

I

M SEQUENCE GENERATION AND PERFORMANCE

ANALYSIS

ABSTRACT

In spread-spectrum communication, pseudo-random sequence must have high autocorrelation value, low cross correlation, long code period and lots of dependent address to satisfy code division multiple access(CDMA). M sequence is one kind of the pseudo-random sequences. It can be may obtained through adding entire 0 states to m sequence. The number of M sequence is greater than the m-sequence under the same level shift register. It may supply the more choice. The M-sequence is often applied to the frequency hopping and adds the password to have greatly strengthened anti- solves the ability.

At first, M sequences which has n=4、5、7 levels of shift registers are produced under Simulink of Matlab. The time domain chart, the spectrograph, the mutual correlation chart are plotted. Through the time domain chart and the spectrograph, we could see how the bandwidth of the information signal is expanded. The pseudo-random symbol speed rate higher noise signal frequency spectrum is proliferated widely, the output power spectrum scope is lower. This can explain the spread-spectrum communication system principle from the frequency range. Through the M sequence’s auto correlation chart we can see that the auto correlation of M-sequence is quite good but is inferior to the m sequence. Finally, the M sequence is applied to the code division multiple access (CDMA) communication system. This is the spread-spectrum communication foundation.

KEY WORDS:Pseudo-random code, auto-correlation, cross-correlation

II

目 录

前 言 ................................................................................................ 1 第1章 扩展频谱通信 ....................................................................... 3 §1.1 扩展频谱通信 ....................................................................... 3 §1.2 扩展频谱技术 ....................................................................... 5 第2章 M序列的产生方法和性质 .................................................... 6 §2.1 M序列的产生方法 ................................................................ 7 §2.1.1 由m序列构成M序列 ..................................................... 7 §2.2 搜索法产生M序列 .............................................................. 8 §2.3 M序列的性质 ...................................................................... 12 §2.3.1 M序列的性质 ............................................................... 12 §2.3.2 M序列的相关特性 ....................................................... 13 第3章 MATLAB仿真 .................................................................... 14 §3.1 反馈移位寄存器产生M序列的仿真 ................................... 14 §3.2 M序列在扩频通信领域的仿真 ........................................... 25 结 论 .............................................................................................. 29 参考文献 .......................................................................................... 31 致 谢 .............................................................................................. 33

III

前 言

扩展频谱通信最早始于军事通信,直到80年代末,美国FCC规划出了ISM频段,并且可以由采用扩频通信机制的商用通信使用。由于扩频通信在提高信号接收质量,抗干扰,保密性,增加系统容量方面都有突出的优点。扩频通信迅速地在民用,商用通信领域普及来。近年来在国内,扩频通信技术如雨后春笋般发展起来,已经广泛应用在室内局域网互连,室外远程城域网互连等领域。众多的国际无线扩频厂商纷纷加入了国内市场的竞争。如今,扩频微波产品已经广泛应用于中国的电信,移动,金融,证卷,税务,电力,公安,水利,交通,油田,卫生,广电等部门,并已安装了上万套的扩频微波设备。

伪随机码 ,也称伪噪声码 ,是一种可以预先确定并可以重复地产生和复制 ,又具有随机统计特性的二进制码序列。早在20世纪40年代末 ,香农 (Shannon G E )等人就建立了“噪声通讯”理论 , 证明了具有白噪声统计特性的信号对充分利用信道的容量与信号的功率、抗多路径干扰和测定距离等问题具有明显的优点。但当时只是限于理论上的探讨。到了20世纪60年代中期 ,由于发展了一些易于产生、加工、复制 ,又具有白噪声统计特性的伪随机码 ,噪声通讯理论才获得了许多实际应用。在深空通信场合 ,利用伪随机编码信号可以实现低信噪比接收 ,大大改善了通信的可靠性 ,且可实现码分多址通信。此外 ,利用伪随机编码信号可以实现高性能的保密通信。这些特点正符合全球定位系统的技术要求。

伪随机码种类有许多,文中讨论了M序列。M序列是由若干级带有某些特定反馈的移位寄存器产生的 ,也称最长非线性移位寄存器序列。

扩频谱编码是一种信道编码体制, 始于20 世纪80 年代初的无线电隐蔽式数字通信。尽管该体制在无线电通信领域得到成功应用, 但它却很少应用于通信声呐, 甚至被认为不适合于水声通信, 因为声波在海洋中传播的衰减与声吸收、散射、反射、几何扩展等因素有关, 高频声波在水中传播的衰减系数近似与声波频率平方成正比, 信道对高频声波的衰减较大. 由于远距离水

1

声信道的带宽只有十几千赫, 发射机和发射换能器的匹配带宽仅为几千赫兹, 限制了扩频频谱带宽和通信速率, 所以也限制了M序列扩频编码在声呐中的应用。近年来, 包括美国、俄罗斯和英国在内的海军强国, 均对M序列扩频编码通信声呐进行了研究。在对通信隐蔽性、可靠性和作用距离要求较高, 而对速率要求不高的场合(通常为每秒几个比特), 该体制有独特的可用性, 特别适合于潜艇间文本通信。

本文首先对伪随机码(M序列)的国内外状况进行了简单的介绍,接着又说明了M序列的基本概念,并在此基础上详细的阐述了M序列的产生方法和其性质(1.随机特性;2.条数;3.相关特性),最后又用MATLAB仿真出M序列及其基本的特性曲线。

2

第1章 扩展频谱通信

人类社会进入到了信息社会,通信现代化是人类社会进入信息时代的标志。怎样在恶劣的环境条件下保证通信有效地、准确地、迅速地进行,是当今通信工作者所面临的一大课题。扩展频谱通信是现代通信系统中的一种新兴的通信方式,其较强的抗干扰、抗衰弱和抗多径性能以及频谱利用率高、多址通信等诸多优点越来越为人们所认识,并被广泛地军事通信和民用通信的各个领域,从而推动了通信事业的迅速发展。

§1.1 扩展频谱通信

扩频通信的起源和发展与军事应用有密切关系。从20世纪20年代起人们就已经开始研究许多具有扩频技术特征的电子设备。雷达(Radar)诞生于20世纪20年代,主要用于检测无线电回波信号和测距;30年代诞生了FM无线电高度表。第二次世界大战中脉冲雷达受到关注,主要原因是脉冲雷达比连续波雷达能更好地隔离收、发机。在二战结束前,德国发明了线性调频脉冲压缩雷达和脉冲调频雷达。匹配滤波器理论也是在二战期间由North,Van Vlek和Middleton等学者提出来的,这个理论告诉我们在白高斯噪声下最佳信号检测的性能仅决定于信号的能量与噪声功率谱密度。因此人们可以选择波形来满足其他准则要求。

从20世纪70年代起,开始把军事通信中的扩频技术用于多址通信,提出了CDMA技术。由于CDMA具有网络容量大,以及用户接入方便、灵活等优点,立刻成了地面公众移动通信的一个主流技术。在第二代数字公众移动通信中,流行于北美和韩国的IS-95就采用CDMA技术。目前第三代数字移动通信系统的几种实现方案,几乎全都采用CDMA技术。

在通信中遇到的干扰可分为两类:人为干扰和非人为干扰。人为干扰是

一种故意干扰,意在对敌方的通信实施干扰,达到破坏对方通信的目的。而非人为干扰,是一种非故意干扰,大多为来自自然界的干扰,如天电干扰、噪声等,这些干扰都是客观存在的,非故意的。由于非人为干扰是客观存在的,对其只能削弱,不能消除。对于人为干扰,可以消除或削弱。在通信中,不仅要尽可能消除或减少非人为的干扰,而且要对抗那些敌意的人为干扰,

3

这些人为干扰主要有:

(1) 单频干扰,或称为固频干扰。这种干扰的干扰频率fJ对准对方的通信频率fs,即fJ?fs,形成同频干扰。

(2) 窄带干扰。这种干扰的干扰频率fJ对准对方的通信频率fs,干扰信号的频率很窄,可以与有用的信号频带相比拟。这样,干扰信号的能量可以全部落入有用信号的频带内,从而对有用信号形成干扰。

(3) 正弦脉冲干扰。这种干扰类似于单频干扰,不同点在于其发送是以脉冲形式发送的,其峰值功率较强。

(4) 跟踪式干扰。由一个频率跟踪系统和干扰机组成,先测定通信频率,然后将干扰机干扰信号频率对准通信频率进行干扰。

(5) 转发式干扰。这种干扰首先把有用信号接受下来,再经放大和噪声污染后发送出去,对有用信号进行干扰。

(6) 宽带阻塞式干扰。这种干扰是在整个信号的通信频带内施放很强的干扰信号,其干扰功率与宽带成正比,使通信一方在整个通信带内都无法保证正常的通信。

由此可见,通信对抗的双方在对抗中发展,在对抗中提高,到底谁战胜谁还很难预料。但可以预言,对抗的双方将在对抗中得到进一步的发展和完善,因而对抗也会更加激烈。

当前采用的抗干扰技术主要有以下几种。 1. 扩展频谱技术;

扩展频谱技术具有很强的抗干扰能力,可以抗击多种人为干扰,是发展非常迅速的一种抗干扰技术。

2. 开发强方向性的毫米波频段;

在短波波段,电波的传播方式主要是靠天波传播,超短波也主要靠天波和视线传播。由于这些波段拥挤,因而相互之间的干扰比较严重。在毫米波波段,频段很宽,采用视线传播,方向性很强,有利于增加强抗干扰性能。

3. 加密技术;

加密技术用于防止传送的信息被敌方截获、窃听,它在保密通信中是一个重要的技术手段。

4. 猝法通信技术;

4

这种通信方式在通信的时间上有很大随即性,在非常短的时间内,要将发送的信号发送出去,其它时间处于静止状态,使干扰机能很难捕捉到这种猝发信号,因此具有很强的抗干扰能力。

§1.2 扩展频谱技术

扩展频谱系统具有很强的抗干扰能力,其多址能力、保密、抗多径等功能也倍受人们关注,被广泛地应用于军事通信和民用通信中。

扩展频谱技术具有许多优越性,其中主要有: 1. 抗干扰能力强

由于利用了扩展频谱技术,将信号扩展到很宽的频带上,在接受端对扩频信号进行相关处理即带宽压缩,恢复成窄带信号。对干扰信号而言,由于与扩频信号不相关,则被扩展到一个很宽的频带上,使之进入信号通频带内的干扰功率大大降低,相应地增加了相关输出端的信号/干扰比,因而具有较强的抗干扰能力。扩频系统的抗干扰能力主要取决于系统的扩频增益,或称之为处理增益。对大多数人为干扰而言,扩频系统都具有很强的对抗能力。

2. 可进行多址通信

扩频通信本身就是一种多址通信,即扩频多址(SSMA),用不同的扩频码构成不同的网,类似于码分多址(CDMA)。CDMA是未来全球个人通信的首选多址方式。虽然扩频系统占据了很宽的频带,完成信息的传输,但其很强的多址能力保证了它的高的频谱利用率,其频谱利用率比单路单载波系统还要高的多。这种多址方式组网灵活,入网迅速,适合于机动灵活的战术通信和移动通信。

3. 安全保密

扩频通信也是一种保密通信。扩频系统发射的信号的谱密度低,近似于噪声,有的系统可在-20~-15dB信噪比条件下工作,对方很难测出信号的参数,从而达到安全保密通信的目的。扩频信号还可以进行信息加密,如要截获和窃听扩频信号,则必须知道扩频系统用的伪随机码、密钥等参数,并与系统完全同步,这样就给对方设置了更多的障碍,从而起到了保护信息的作用。

4. 数模兼容

5

扩频系统即可以传输数字信号,也可传输模拟信号。 5. 抗衰弱

由于扩频信号的频带很宽,当遇到衰落,它只影响到扩频信号的一小部分,因而对整个信号的频谱影响不大。

6. 抗多径

多径问题是通信中,特别是移动通信中必须面对,但又难以解决的问题,而扩频技术本身具有很强的抗多径的能力,只要满足一定的条件,就可以达到抗干扰甚至可以利用多径能量来提高系统性能的目的。而这个条件在一般的扩频系统中是很容易满足的。

第2章 M序列的产生方法和性质

M序列是最长线性移位寄存器序列,其长度为2r,r为移位寄存器的级数。r级移位寄存器的状态有2r个,M序列就包含了r级移位寄存器序列的所有2r

6

个状态,使得产生的序列的长度为2r个,其称为最长非线性移位寄存器序列,简称M序列。其码长为2r,大到了r级移位寄存器所能达到的最长周期,故又称为全长序列。M序列不仅比m序列的在相同级数移位寄存器的长度多一位,而且产生的序列数远远超过了m序列,故M序列在实际中应用较为广泛。目前对非线性移位寄存器的研究尚未找到足够有效的数学工具及系统的研究方法,随着科学技术的发展,这个科学难题将会得以解决。

§2.1 M序列的产生方法

M序列的构造方法很多,可在m序列的基础上增加全“0”状态获得。也可用搜索的方法获得。无论何种方法,只要对r级移位寄存器所有的2r个状态都要经历一次,而且仅经历一次,同时要满足移位寄存的关系即可。

§2.1.1 由m序列构成M序列

由于m序列已包含了2r?1个非零的状态,缺少由r个“0”组成的一个全“0”状态。因此由m序列构成M序列时,只要在适当的位置插入一个零状态(r个“0”),即可使码长为2r?1的m序列增长至码长为2r的M序列。显然全零状态插入应在状态之后,使之出现全零状态,同时还必须使全零状态的后继状态为0001,即状态的转移过程为

(00001)?(00000)?(10000)

(2.1)

只要增加一检测全“0”的小项,就可由m序列的反馈逻辑得到M序列的反馈逻辑。

设m序列的反馈逻辑函数为f0(x1,x2,x3,,xr),由式(2-1)可知,只要

移位寄存器的第1位到第r-1位出现 全“0”时,下一状态就要转移到全“0”状态。对这r-1位全“0”进行检测,加入反馈,就可得到全“0”状态。同时还要保证从全“0”状态转到(000辑函数f(x1,x2,x3,,x为 r)01)状态。故可以得到M序列的反馈逻

f(x1,x2,x3,,xr)?f0(x1,x2,x3,,xr)?x1x2xr?1

例如,r=4的m序列的本原多项式为

f0(x)?1?x3?x4

7

f0(x1,x2,x3,x4)?x3?x4

则构成的M序列的反馈逻辑函数为

f(x1,x2,x3,x4)?x4?x3?x1x2x3

设初时状态为1111,则其状态过程如表2-1所示。由此可见,全“0”检测电路的作用只是在两个状态有效:意识在(1000)时,检测出

x1?x2?x3?0,则输出一个 “1”,与第4位x4?1模2加后得到下一个状态,

即变为全“0”状态;二是在全“0”状态,使下一个状态的x1?1。而对其它状态,由于m序列只有一个r-1长的“0”游程,全“0”检测电路不起作用。产生的序列为1111000010011010。

表2-1 四级M序列状态转移表

时序 x1 x2 x3 x4 时序 x1 x2 x3 x4 0 1 2 3 4 5 6 7 8

1 1 1 1 0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 9 10 11 12 13 14 15 16 1 1 0 0 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 1 1 利用这种方法产生M序列是有限的。因为m序列本身的条数并不多,为

?(2r?1)/r条,比M序列的条数要少得多,所以有必要通过另外的途径找出M序列,以供选择。

§2.2 搜索法产生M序列

M序列的长度为2r,它经历了r级移位寄存器所有的2r个状态,而且每个状态只能经历一次,考虑移位寄存器的移位寄存功能,可以从r级移位寄

8

存器的某一个状态出发,进行状态的转移,转移过程中的状态没有重复。经过2r次转移后,又回到了出发的状态上,就可得到一个闭环,成为Hamiton回路。该环的状态数为2r个,由此可得一条M序列。不同的路径,可以得到不同的M序列。如r=3的情况,其状态转移过程如图3-2所示。由此方法可产生出所有的r级移位寄存器产生的M序列。由图可见,只有两条通路组成一个2r=8的闭环,即

(111)?(011)?(001)?(000)?(100)?(010)?(101)?(110)?(111)和

(111)?(011)?(101)?(010)?(001)?(000)?(100)?(110)?(111)

可得相应的M序列为11100010和11101000。用此方法,我们得出了r=4的全部16条M序列,其状态转移过程如表3-2所示。表中状态是以十进制表示的。表3-3给出了用二进制表示的第5号M序列的状态转移情况,由此可得对应的M序列为1111001000011010。

当r较大时,M序列条数剧烈增加,用计算机来搜索,可在较短的时间内获得所需的M序列。

还有许多产生M序列的其它方法,如M序列的反馈通过添加适当的小项

而得到新的M序列的反馈;利用迪布瑞思-古德图Gn的自构及反自同构等;由已知M序列的反馈求得新的M序列的反馈等。

9

111 111 011 001 101 000 100 010 110 000 100 001 101 011 111 010 110 000 100 001 101 000 100 010 110 010 110 011 111 011 111

图2-1 M序列状态转移图

表2-2 r=4的全部M序列状态转移表

10

编号 状态 时序 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 15 15 7 3 1 0 8 4 2 9 7 3 1 0 8 4 10 5 15 7 3 1 0 8 4 10 13 6 11 5 2 9 12 14 15 15 7 3 1 0 8 12 6 11 5 2 92 4 10 13 14 15 15 15 15 7 3 9 4 2 1 0 8 7 3 9 4 7 3 9 4 15 15 7 3 9 7 11 5 15 15 15 15 15 15 15 7 11 5 2 9 4 7 11 5 2 9 7 11 5 7 11 5 7 11 7 11 7 11 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 13 13 5 6 3 9 4 2 1 0 8 12 2 6 11 5 2 1 0 8 4 1 0 8 4 10 13 6 3 10 10 6 13 13 3 6 3 9 4 2 1 0 8 1 0 8 4 10 10 5 2 1 13 6 11 5 2 12 6 3 1 0 8 4 2 10 6 13 3 6 3 1 0 8 1 0 8 4 10 12 5 6 3 9 4 10 12 2 6 11 5 9 12 6 12 0 6 11 5 8 10 2 5 2 9 1 0 8 12 1 6 0 8 10 11 13 13 14 14 15 15 10 11 10 9 13 12 14 14 15 15 10 9 13 13 12 14 14 14 15 15 15 12 13 12 12 12 12 13 14 14 14 14 14 14 14 15 15 15 15 15 15 15 表2-3 M序列的状态转移表

时序 1 2 3 4 5 6 x1 x2 x3 x4 输出 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 0 1 0 1 0 0 0 1 0 0 0 0 0 1 1 时序 9 10 11 12 13 14 x1 x2 x3 x4 输出 1 1 0 0 0 0 1 1 0 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 0 1 1 0 1 1 11

7 8 0 0 0 0 0 1 0 0 0 0 15 1 1 1 0 0

§2.3 M序列的性质

§2.3.1 M序列的性质

1. M序列的随机特性

(1) M序列的周期为2r,这里,r是移位寄存器的级数。M序列的长度比m

序列多1。

(2) 在长为N=2r的M序列中,“0”与“1”的个数相同,即各占一半为2r?1。

这是因为M序列经历了r级移位寄存器的所有状态。从M序列的构成法中,由m序列到M序列的过程也可以清楚地看出这一点,M序列地载漏比m序列小得多。

(3) 在长为2r的M序列中,游程总数为2r?1,其中“0”和“1”的游程个

数相同。且当1?k?r?2时,长为i的游程数占总游程数的2?k,长为r-1的游程不存在。长为r的游程有两个,即长为r的“0”和“1”游程各一个。

2. M序列的条数

M序列的条数比m序列的条数多得多。M序列的条数(不包括平移等价序列)为NM?22r?1?r

表3-4给出了不同级数r的m序列与M序列条数的比较。由表可以看出,当r?4时,M序列比m序列多得多。当r=5时,m序列为6条,而M序列有2048条,时m序列的341倍。当r=8时,M序列时m序列的1.66?1035倍。古M序列作为地址码可以满足CDMA的要求。

12

表3-4 m序列与M序列的条数

类别 m序列 公式 2 3 4 5 6 7 8 9 1 2 2 6 6 18 16 48 1 2 16 2048 226 257 2121 2248 ?(2r?1)222r?1M序列 ?r

§2.3.2 M序列的相关特性

对于任意给定的r级M序列,其自相关函数R(?)为: (1)R(0)?2r

(2)R(??)?0 1???r?1 (3)R(??)?2r?4?(f0) ??r

(f0)其中?是产生M序列的反馈函数f(x1,x2,x3,,xr)?x1?f0(x2,x3,,xr)中f0的重量。

由此可见,M序列的自相关函数为多值函数,其旁瓣为4的整倍数,远不如m序列的二值特征。M序列的相关函数是确定的,但对M序列来说,当

r???2r时,目前尚无计算R(?)的一般公式,而只能针对具体序列通过移位比较将其自相关的值一一计算出来。不同的序列,其相关特性是不同的。 M序列的互相关特性与自相关函数一样为多值函数,其值也为4的整倍数。 例如r=5的M序列共2048条,其自相关函数旁瓣小于12的有882条;小于等于8的有772条;小于等于4的有12条。对互相关函数值,挑选了自相关函数小于等于8的M序列共计算了六万多对,最大值Rabmax?28,最小值

Rabmin??32,没有找到Rab?4的M序列对。满足Rab?8条件的有三百多对,

满足Rab?12有三万多对。

与m序列相比,M序列没有如m序列那样的移位相加特性。

虽然M序列的相关特性不如m序列好,但M序列的长度比m序列多1。更为客观的是M序列的数目,是作为多值通信地址码的良好选择,因而M序列被广泛应用于扩频通信系统和其它系统之中。

13

第3章 MATLAB仿真

§3.1 反馈移位寄存器产生M序列的仿真

我们可以通过构建反馈移位寄存器来得到M序列。

图3-1所示是用反馈连接的方式构建的反馈移位寄存器。它产生的二进制序列就是M序列。该序列是由4级反馈移位寄存器构建而成。它以文件名为hout4存在Workspace(工作空间)中。示波器与频谱器显示了M序列的时域和频域的图形。图3-1中的频谱仪参数设置见表3-1。

XORLogicalOperatorhoutTo Workspace1XORLogicalOperator2zUnit Delay41zUnit Delay11z1zScopeUnit Delay2Unit Delay3Zero-OrderHoldNORLogicalOperator1B-FFTSpectrumScope

图3-1 反馈移位寄存器产生M序列的仿真系统

表3-1 Spectrum Scope(频谱仪)的主要参数

模块名称Spectrum Scope 位置 DSP Blockset\\DSP Sinks

参 数 名 称 Buffer size(缓存长度) Buffer overlap(缓存交叠) FFT length(FFT长度) Number of spectral(平均数) 512 256 512 4 参 数 值 14

Scope position(显示位置) Frequency units(频率单位) Frequency ragne(频率范围) Amplitude scaling(幅度刻度) Sample time of original time series (从输入信号的采样时间) Minimum Y_limit(Y量程下限) Maximum Y_limit(Y量程上限) get(0,’defaultfigureposition’) Hertz [?Fs2...Fs2] dB 0.2 -30 10

表3-2 Scope(示波器) 的主要参数

模块位置 To Workspace

位置 Communications Blockset\\Comm Sinks

参 数 名 称 Variable name(变量名称) Limit data point to last(最后一个据点) Decimation(抽样方式) Sample time(-1 for inherited)(采样时间,-1表示继承) Save format(存入形式)

表3-3 To Workspace(至工作空间)的主要参数

模块名称 Scope 位置 Simulink\\Sinks

参 数 名 称 Number of axes(踪数) Time range(时间范围) Sampling time(采样时间)

1 48 0.5 参 数 值 参 数 值 hout4 30 1 -1 Array(数组) 图3-2所示是时域图,图3-3所示是频域图,图3-4所示是M序列的互相关函数特性曲线。

15

该M序列,周期为24?16,时域波形如图3-2所示。可以看出,它是以16为周期的脉冲序列,在Time range(时间范围)设置为48的示波器上刚好显示了3个周期的M序列。显示图形可以看成是该M序列与以16为周期的脉冲序列的卷积。

图3-2 反馈移位寄存器产生M序列的时域波形

频域波形如图3-3所示。可以看出,这是以16为周期的脉冲序列的频谱(频域图上的间距为116的序列狭窄谱线)与m序列的码元(宽度为1)的方波对应的谱特性的相乘的频谱结构。(这是展示时间卷积定律的一个例子)采用对数方式表达可以减少峰值和其他值的差别。

16

图3-3 反馈移位寄存器产生M序列的频域波形

图3-4所示是运行结果,可以在周期点16处看到很强的自相关性(自相关值为16,远大于互相关值),其余的反映了它们的互相关性(互相关值在0附近波动)。显然,互相关性的幅度值越小越好。

17

图3-4 M序列的互相关函数特性

其程序如下所示:

sim('Msequence4'); x1=[(2*hout4)-1]'; y1=xcorr(x1); t=1:59; figure(1) plot(t,y1(1:59)) axis([1,60,-12,32]) grid

我们可以给它多加一个Unit Delay,构成一个5级移位寄存器产生的M序列,再去仿真出它的时域波形、频域波形和互相关函数特性曲线。

18

图3-5 反馈移位寄存器产生M序列的仿真系统

表3-4 Scope(示波器) 的主要参数

模块名称 Scope 位置 Simulink\\Sinks

参 数 名 称 Number of axes(踪数) Time range(时间范围) Sampling time(采样时间) 1 96 0.5 参 数 值

图3-6所示是时域图,图3-7所示是频域图,图3-8所示是M序列的互相关函数特性曲线。

19

图3-6 反馈移位寄存器产生M序列的时域波形

图3-7 反馈移位寄存器产生M序列的频域波形

20

图3-8 M序列的互相关函数特性

其程序如下所示: n=5; N=2^n; sim('Msequ5'); hout1=hout(1:N); x1=[(2*hout1)-1]'; y1=xcorr(x1); m=length(hout1) t=1:2*N-1;

plot(t,y1(1:2*N-1),'-k','LineWidth',2); axis([1,length(t),-10,N+5]); grid on

下面是一个由6级移位寄存器构成的M序列,如图3-9所示

21

图3-9 反馈移位寄存器产生M序列的仿真系统

表3-5 Scope(示波器) 的主要参数

模块名称 Scope 位置 Simulink\\Sinks

参 数 名 称 Number of axes(踪数) Time range(时间范围) Sampling time(采样时间) 1 192 0.5 参 数 值

图3-10所示是时域图,图3-11所示是频域图,图3-12所示是M序列的互相关函数特性曲线。

22

图3-10 反馈移位寄存器产生M序列的时域波形

图3-11 反馈移位寄存器产生M序列的频域波形

23

图3-12 M序列的互相关函数特性

其程序如下所示:

n=6; N=2^n;

sim('Msequ6'); hout1=hout(1:N); x1=[(2*hout1)-1]'; y1=xcorr(x1); m=length(hout1) t=1:2*N-1;

plot(t,y1(1:2*N-1),'-k','LineWidth',2); axis([1,length(t),-15,N+5]); grid on

24

§3.2 M序列在扩频通信领域的仿真

我们通过图3-13展示的扩频通信原理仿真系统,来讨论扩频通信原理。4级移位寄存器输出周期为16的M序列,该M序列与其本身异或运算后再经过双极性变换后得到第一个波形;该M序列与取反以后的M序列异或运算后也经过双极性变换后得到第二个波形;输出的M序列与延迟3个码元并且取反以后的M序列异或运算后得到的波形为第三个波形;波形三的序列与Pulse Genertator(脉冲产生器)积分后得到的为第四个波形;输出的M序列与延迟16个码元的M序列异或运算后得到序列经过双极性变换后,再与Pulse Genertator(脉冲产生器)积分可得到第五个波形。

图3-13 M序列在扩频通信中的仿真系统原理图

在图3-13中,给出了一个由4位移位寄存器产生的M序列,它与其自身以及延迟后,取反后的各种M序列进行异或操作后,得到不同的结果,并

25

在示波器上显示出来。我们通过对示波器上的波形进行分析来了解扩频通信的扩频与解扩的原理。

示波器的主要参数见表3-6。系统中使用的Relay(继电器)主要参数见表3-7,作用是将单极性二进制码变为双极性二进制码。系统中使用的Discrete Time Integrator(离散时间积分器)的主要参数见表3-8,其作用是在m序列的周期范围内(16)将出入信号积分。Pulse Genertator(脉冲产生器)为积分器提供门控信号,主要参数见表3-9。

表3-6 Scope(示波器)的主要参数

模块名称Scope 位置 Simulink\\Sinks

参 数 名 称 Number of axes(踪数) Time range(时间范围) Sampling time(采样时间) 5 60 0.25 参 数 值

表3-7 Relay(继电器)的主要参数

模块名称Relay

位置 Simulink\\Discontunuities

参 数 名 称 Switch on point(大于等于时,开关打开) Switch off point(小于等于时,开关关闭) Output when on(开关打开时输出值) Output when off(开关关闭时输出值) Sample time(采样时间) 0.9 0.1 1 -1 -1 参 数 值 表3-8 Discrete Time Integrator(离散时间积分器)的主要参数

模块名称 Discrete Time Integrator 位置Simulink\\Discrete

参 数 名 称 Integrator method(积分方法) 参 数 值 Forward Euler(前向欧拉法) 26

External reset(外部复位) Initial condition source(初始条件源) Initial condition(初始条件) Sampling time(采样时间)

Either(上下沿) Internal(内部) 0 1 表3-9 Pulse Genertator(脉冲产生器)的主要参数

模块名称 Pulse Genertator 位置Simulink\\Sources

参 数 名 称 Pulse Type(脉冲类型) Amplitude(幅度) Period(secs)(周期,秒) Pulse width(%of period)(脉宽,占周期的%) Phase delay(相位延迟) 参 数 值 Time based 1 30 50 0

观察示波器显示的波形图3-14,从上往下有5个显示的波形。下面我们分别对5个波形进行介绍。

(1) 全“-1”的结果表示输出的M序列与自己异或运算后得到全“0”序列,经过双极性变换后得到全“-1”序列。

(2) 全“1” 的结果表示输出的M序列与取反以后的m序列异或运算后得到全“1”序列,经过双极性变换后得到全“1”序列。

(3) 图中的方波表示输出的M序列与延迟3个码元并且取反以后的m序列异或运算后得到的序列,它仍然是码元速率与M序列相同的二进制序列。试验证明,当延迟数为1——15时,取反与否结果一样的码元宽度为1的双极性二进制码序列。

(4) 图中的波形表示波形3序列积分后的结果(积分区间为16个码元,即M序列的周期)。因为“1”和“-1”频繁地、概率相等地出现,所以积分结果在“0”附近徘徊。

(5) 图中的锯齿波形表示输出的M序列与延迟16个码元的M序列异或

27

运算后得到全“0”序列,经过双极性变换后得到全“1”序列。全“1”序列在积分16个码元周期后得到-16。试验证明,延迟0、16或者-16的整数倍结果是一样的,这是M序列的周期造成的。

图3-14 示波器显示的5个波形

28

结 论

本文首先介绍了扩展频谱通信发展历史,扩展频谱技术的优点,阐述了扩频通信在现代化的21世纪的作用;然后又介绍了M序列的定义,M序列的产生,M序列的优点和缺点;最后介绍了在MATLAB下M序列的仿真步骤,并对不同的M序列进行了比较。

M序列是伪随机序列的一种,可由m序列添加全0状态而得到。m序列与M序列对比得出在同级移位寄存器下M序列的数量远远大于m序列数量,其可供选择序列数多,在作跳频和加密码具有极强的抗侦破能力。

在分析扩频通信原理基础上,主要对扩频通信中M序列问题作了主要分析,对其在扩频通信中的优缺点作了重要的概述,重点分析M序列的工作原理,并对其M序列的产生和性能作了深入探讨。画出产生M序列仿真图,并运用MATLAB仿真出M序列的时域波形、频域波形和互相关特性曲线。

1. M序列的时域波形是以2为周期的波形(n为反馈移位寄存器的级

n数);可以看出,它是以2n为周期的脉冲序列;显示图形可以看成是该M序列与以2n为周期的脉冲序列的卷积。

2. M序列的频域波形是以2为周期的脉冲序列的频谱(频域图上的间

n距为12n的序列狭窄谱线)与M序列的码元(宽度为1)的方波对应的谱特性的相乘的频谱结构;

3. M序列的相关函数的特性曲线中自相关值远大于其互相关值,所以

M序列具有很强的自相关特性和很弱的互相关特性。

4. 4级反馈移位寄存器产生的M序列在扩频通信中的仿真。

(1) 输出的M序列与自己异或运算后得到全“0”序列,经过双极性变换后得到全“-1”序列;

(2) 输出的M序列与取反以后的M序列异或运算后得到全“1”序列,经过双极性变换后得到全“1”序列;

(3) 当延迟数为1——15时,取反与否结果一样的码元宽度为1的双极性二进制码序列;

(4) “1”和“-1”频繁地、概率相等地出现,所以积分结果在“0”附

29

近徘徊;

(5) 输出的M序列与延迟2n(n为反馈移位寄存器的级数)个码元的M序列异或运算后得到全“0”序列,经过双极性变换后得到全“1”序列。全“1”序列在积分2n个码元周期后得到-2n。试验证明,延迟0、2n或者-2n的整数倍结果是一样的,这是M序列的周期造成的。

30

参考文献

[1] 曾兴雯,刘乃安,孙献璞.扩展频谱通信及其多址技术.西安:西安电子科技大

学出版社,2004

[2] 肖国镇,梁传甲,王育民.伪随机序列及其应用.北京:国防工业出版社,1985 [3] 仇佩亮,陈惠芳,谢磊.数字通信基础.北京:电子工业出版社,2007 [4] 胡远达.无线扩频通信技术简术.现代通信报, 2003,24(5):6~6

[5] 黄建忠,李超,项攀攀.一类基于M序列的非线性序列生成器.国防科技大学

学报.2003,25(5):5~6

[6] 林可祥,汪一飞.伪随机码的原理与应用.北京:人民邮电出版社,1998 [7] 吴先用,邹学玉.一种M序列伪码发生器的产生方法.测控技术报,

2003,22(9):41~47

[8] 徐杨斌.M序列生成结构分析.测绘学院学报,2002,19(1):3~4

[9] 徐强,宋依青.M序列在信息安全中的应用.常州工学院学报,2005,

18(1):17~21

[10] 查光明 ,潘孟菡. M 序列优选对的计算机实现及平衡戈尔德码组.成都电

讯工程学报 ,1985,15(9):34~44

[11] 闫保中,何联俊,洪艳.M序列优选对及平衡 Gold序列的产生与搜索.应用

科技学报,2003,30(11):55~61

[12] 朱学龙.应用信息基础.北京:清华大学出版社,2001

[13] 罗新民,张传生,薛少丽.现代通信原理.北京:高等教育出版社,2003 [14]王育民,刘建伟.通信网的安全——理论与技术.西安:西安电子科技大学出

版社,1999

[15] 张涛. 双通道伪随机信号发生器的研究.电子测量与仪器学报,1997,

11(2):11~15

[16] 宫剑,毕红军,贾怀义.Kasama扩频序列的研究.北京交通大学学报,

2001,13(4):103~106

[17] 李建东,杨家玮.个人通信.北京:人民邮电出版社,1998

31

[18]高鸿勋.求全部n级M序列及其反馈函数的一个方法与证明.应用数学学

报,1979,4(2):26~28

[19]梅志红,杨万铨.MATLAB程序设计基础与应用.北京:清华大学出版社,

2005

[20] Stueber G L, 裴昌幸等译. 移动通信原理. 北京:电子工业出版社,2003

32

致 谢

经过3个月的忙碌和工作,本次毕业设计已经接近尾声,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以及一起工作的同学们的支持,想要完成这个设计是难以想象的。

在这里首先要感谢我的导师****。她平日里工作繁多,但在我做毕业设计的每个阶段,从外出实习到查阅资料,设计草案的确定和修改,中期检查,后期详细设计,装配草图等整个过程中都给予了我悉心的指导。我的设计较为复杂烦琐,但是****老师仍然细心地纠正图纸中的错误。除了敬佩****老师的专业水平外,她的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。

其次感谢大学四年来所有的老师,为我们打下专业知识的基础;同时还要感谢所有的同学们,正是因为有了你们的支持和鼓励。此次毕业设计才会顺利完成。

然后还要感谢一起作毕业设计的同学,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。 最后感谢****四年来对我的大力栽培。

33

外文资料译文

第29章 开启DSP设计之路

一旦你觉得数字信号处理能满足你的应用要求,你需要一个开始进行的方式。许多制造商会卖给你一个廉价的工具包,让你直接体验他们的产品。这些是伟大的教育工具,而不管你是新手还是提高者,这是熟悉DSP细节的最好的方法。例如,Analog Device公司提供了EZ-KIT LIT让未来的客户了解数字信号处理的SHARC系列。仅仅179美元,你就能得到所有DSP所需的硬件和软件。这包括软件包的那些“罐装”的程序,也包括你可以自己用汇编或者C语言编写的应用程序,假设你在Analog Device公司买了这些工具包的一种并用了几天的话。本章是你所希望找到和学习的知识的一个总括。

ADSP-2106x 系列

上一章我们了解了数字信号处理的ADSP-2106x“SHARC”系列大体的操作过程。表29-1显示了这一系列的不同成员。所有这些设计都有相同的体系结构,但是集成存储器的区域是不同的,这是决定使用哪一片存储器的关键因素。内存通道是DSP系统共同的一个瓶颈。SHARC DSPs忙于向集成存储器提供足够的双重SRAM接口。然而,你想做的最后一件事就是买一个你实际并不需要那么大的内存。DSPs经常用于敏感的产品,如蜂窝电话,CD播放器等。换句话说,这个家族的机构取决于市场和技术。

这个家族最早的产品是ADSP-21020。这种芯片包括体系结构的核心,但是不包括集成的存储器和I/O接口。这就意味着它单机状态下不能运行。它需要有扩展的操作系统部分。其它的产品单片都是一个完整的计算机。它们的运行仅仅需要开启电源,把程序装入内存,就像一个扩展的PROM或者数据连接。注意在表29-1中即使抵挡的产品也有一个相当大的内存。例如,ADSP-21065L有544 kbit的内部SRAM。这就足够存储一个6到8秒的数字语音文件(每秒8k字节,每字节有8bit)。对于高档的产品,如ADSP-21060有4兆的内存。这对于存储一整张数字图像绰绰有余(512×512象素,每象素8bit)。如果你要求更大的内存,你可以方便的在任意产品上扩展存储器。

1

补充说明一下存储器,这个家族的成员中I/O部件是存在差异的。ADSP-21060和 ADSP-21062(高端)都有六个端口。多线程系统的综合DSPs都有4bit宽的并行总线,其它应用要求有复杂的高速I/O接口。ADSP-21061和 ADSP-21065L(低端)没有连接口,但是在连续的端口操作中提供了更多的直接存储通道。你将看到这些系列成员名称后缀中都有“L”或“M”,如“ADSP-21060L”。这表明了这些产品运行电压比传统电压5.0伏低。

比如,ADSP-21060L运行电压为3.3伏,ADSP-21160M只有2.2伏。

1998年六月,随着ADSP-21160的发布,Analog Device公司宣布诞生了第二代SHARC体系。它配备了单指令多数据系统内核(SIMD或者“sim-dee”),工作频率为100兆赫,有一个带宽为每秒1600兆赫的加速存储总线,两个64比特的数据总线,四个80比特的固定点计算器堆栈。总之,新的ADSP-21160M在46微妙期间就运行了1024个快速傅立叶变换。SIMD DSP包括另一个计算单元(算术和逻辑单元,转换开关,数据注册文件,和乘法器),允许ADI向老一代ADSP-2106x产品兼容的代码,有一份路径表提供十倍的上行速度。

2

SHARC EZ-KIT Lite语言

EZ-KIT Lite给你提供了学习SHARC DSP的一切资料,包括:硬件,软件,和相关的指南。图29-1显示了一张EZ-KIT Lite自带的硬件图表,主要围绕着ADSP-21061数字信号处理。这是一张4.5×6.5英寸的印刷电路板,装了一个塑料支架使之可以站在你的桌子上。(它也有另一种翻译叫做EZ-LAB,使用ADSP-21062,装在你电脑内部的插槽里)。只有四个连接电路你需要操心的:DC电源,你电脑上一个连续的连接电路,输入和输出信号。一个DC电源和一些电缆甚至在那个工具箱里面也有。输入输出信号在音频的范围,振幅大概为一伏。二选一,一个连接器允许一个话筒直接插入到输入端里。这种想法就是将麦克风插入输入端,连接一系列的扩音器(就像用个人电脑)到输出端。这是你可以听到DSP各种运算法则的效果。模数转换和数模转换可以熟练的在AD1847模拟信号译码器中实现。这是一个十六位的累加转换器,能够以每秒48K的速率数字化双通道,同时以上述速率输出双通道。虽然这快芯片主要用来处理音频信号,输入和输出是交流电,频率为20赫兹。

芯片上三个按钮可以让用户使用中断,复位处理器,设置一个系统可以辨识的标志位。四个芯片上的发光二极管由标志位控制其闪烁。如果你觉得还不够,芯片上的一些区域使你可以访问连续的端口,连接端口(只在EZ-LAB的ADSP-21062),和处理器总线。然而,没有人可以帮你,你得自己连接连接器和其它部件。

3

下面告诉你它是怎么工作的。上电后,处理器从一个芯片上的可编程储存器开始导入(512k),装载程序确定你电脑内部各组件之间的联系。下一步,在你机器上装载EZ-Lite Host程序,使你可以在DSP下载程序或上传数据。一些程序随着EZ-KIT Lite的打开而预存;你只需点击相关图标,这些程序随之运行。例如,一个带通程序使你可以对麦克风说话,且听听声音经过处理从扩音器出来的效果。这种程序有用的原因有两个:(1)它们使你可以迅速了解系统正在进行的工作,且让你可以确定系统正在工作。(2)它们为你自己设计程序提供了一个模板。下面,一个EZ-KIT Lite的例子引导我们进入下一个话题。 例:音频滤波器设备检查

当你用预存程序试验一会后,你就会想改编程序以增加你的经验。程序可以用汇编或者C语言编写,EZ-KIT Lite语言提供了一些软件工具来支持这两种语言。待会本章将为你介绍几种先进的程序,如:仿真工具,调试工具,且运行在完整的发展环境。目前,我们集中注意运行一个现有的程序。小脚小步伐 ***(538页)***

一旦源代码是以ASCII码的形式,所有现有文件夹的基本的文本文件都必需重新编辑,或者重新编写程序。表29-2说明了一个用汇编编写的FIR滤波程序的例子。这只是你现在需要考虑的程序代码,但必需注意还有其它的程序与它一起组合才是一个完整的程序。这包括一个“体系描述文件”(它定义了硬件结构和存储空间配置),设置了中断向量表,和一个初始程序数字编码器。最后,你需要理解这些组件在干什么,但现在你只需从预写程序复制它们。

就像表29-2顶部显示的那样,在进入程序主代码之前,有三个变量需要定义。这些是滤波器核心代码的关键字,NR-COFF;一个存储输入代码的循环缓冲器,dline[];滤波器核心的循环缓冲器,coef[]。我们还需给出这个程序另外两点信息:编码器的取样速率,包含滤波器核心的文件夹名,这样才能读到coef[]。所有这些步骤都很简单;每步只不过是一句简短的代码。在本例中我们没有显示它,因为它包含在我们为了简

4

便而省略的部分代码中。

图29-2显示了我们将用来做程序实验的滤波器核心,和我们在17章设计的滤波器一样。就像你想起来的一样,这滤波器将做一个非周期的频率响应,再强调一个概念FIR数字滤波器最终提供一个你期望的周期性的响应。图(a)显示了我们实验的滤波器周期性响应,(b)显示了相应的脉冲响应。(也就是滤波器核心)。这种301滤波器核心存储在ASCII码文件夹里,且链接到其它部分的代码以组成一个简单的可执行程序。

程序的主要部分完成两个功能。在6至13行中,数据地址发生器(DAGs)用来处理循环缓冲:dline[ ]和coef[ ]。就像上一章所述,每个缓冲区需要三个参数:存储器里缓冲区的起始位置(b0和b8),缓冲区的长度(10到18),缓冲区里每个数据存储的字长(m0和m8)。这些控制循环缓冲区的参数装载在DAGs的硬件寄存器里,使它们存储和处理数据效率很高。

主程序的第二功能是所谓“绕拇指”运动,在15至19行执行。这其实什么也不做,只是等待有要求输入的中断信号。所有这种程序的处理过程只发生在瞬时值-瞬时值模式。每次一个瞬时值从输入读入,输出的瞬时值信号经过计算发送到信号译码器。大多时域算法,就像FIR和IIR滤波器,都属于这种类别。可选择模式如帧-帧处理方式,要求时域变换。在帧-帧模式中,一组实时信号从输入读入,经过计算,再写到输出口输出。

处理就绪中断的服务子程序分为三部分。第一部分(27到33行)以定点数的形式接收来自译码器的信号,把它转化成浮点数。在SHARC汇编语言中,每个数据寄存器储存一个定点数在“r”(就像r0,r8,r15等等)和“f”(储存一个浮点数在f1,f8,f15等等)里。例如,在32行中,在寄存器0(r0)里储存的定点数转化成浮点数后覆盖寄存器0(f0)里的数。这种转换根据寄存器1(r1)里的定点数按比例进行。在第三部分,(47到53行),采取相反的步骤,将输出的浮点数转换成定点数,发送到编码器中。

FIR滤波器将输入信号转换成输出信号在35到45行之间提到。所有计算都以浮点数方式进行,避免担心比例和溢出问题。就像上一章提到的那样,代码的这部分被最优化以便充分利用SHARC DSP的运算能力在每个时钟周期运行多任务。

编写好汇编语言和设计好滤波器核心后,我们已经准备好编写一个能在SHARC DSP上运行的程序。执行这部分包括运行编译器,汇编程序,连接器,三部分由EZ-KIT Lite 提供。编译器把C语言转换成SHARC汇编语言。如果你直接用汇编语言编写程序,

5

就像本例一样,可以直接跳过这一步。汇编程序和连接程序将程序和外部文件(比如系统文件,译码器初始化程序,滤波器核心等)转化成最终的可执行文件。所有这一切大概需要三十秒,直到最终的结果保留在你计算机的硬盘里。EZ-KIT Lite主程序这时用来运行EZ-KIT Lite 的程序。只需点击你想让DSP运行的文件夹,EZ-KIT Lite主程序完成余下的工作,下载程序且运行它。它带给我们两个问题。第一,我们怎样测试音频滤波器来确定它按照我们预先设定的那样工作;第二,世上确实有一个叫Analog Devices的公司在生产数字信号处理器? DSP系统的模拟测量

有一段时间,忘记你正在学习数字技术。让我们从一个专攻模拟电子技术的工程师的立场出发来看待这个问题。他不在乎EZ-KIT Lite里面是什么,只在乎模拟输入,模拟输出。就像图29-3显示的那样,他会引用传统的模拟方法来分析“黑盒子”,在输入端附加一个信号发生器,在示波器上观察输出情况。

我们的模拟教练发现了什么?第一,系统是线形的(从这个简单的测试只能了解这么多)。一个正弦波输入,输出也是一个正弦波。如果输入信号的振幅或者频率改变了,相应的改变将在输出得到体现。当输入的频率慢慢增加,存在一个点使输出的正弦波振幅迅速减少到零。这事发生在取样速率刚减少一半时,这是由于ADO上滤波器的影响。

现在我们的工程师注意到了一些模拟世界未知的事:系统是完美的线形相位。换句话说,在输入信号和输出结果的事件之间有一个确切存在的延迟。例如,看看图29-2的滤波器核心例子,当对阵中心在瞬时值150单位的时候,输出信号相对于输入信号将延时150单位。例如,当系统取样速率在8千赫时,这种延时将达到18.75毫秒。进一步说,累加转换器也将附加一个固定的延时。

6

7

我们的模拟工程师看到这种线形相位时将会激动异常。信号没有像他预期的那样出现,他也会飞快的扭动旋钮。他会抱怨触发器没有正常工作,嘟哝着说:“这根本没有意义,这到底发生了什么事?”,“谁动了我的示波器?”DSP系统工作得非常优秀,这将花掉他几分钟时间来明白他看到得一切。

将给他留下深印象的是,我们将会要求我们的工程师用手来测量系统的频率响应。为了完成这件事,他将在125赫兹和10千赫兹之间每次增加125赫兹调遍整个量程。他测量每个频率的输出信号的幅度,用输入信号的幅度来划分它。(当然,这样做最简单的方法是使输入信号的幅度保持一个固定的值)。这次试验中我们把EZ-KIT Lite的采样频率设置在22千赫。换句话说,图29-2a中0到0.5数字频率对应于现实生活中测量的直流电11千赫。

图29-4显示了EZ-KIT Lite实际的测量情况;没有比这更好的了。测量的数据在误差允许的范围内与理论的曲线相符。这是我们的模拟工程师在用电阻,电容和感应器做成的滤波器中从未发现的现象。

然而,即使这样也没有让DSP获得应有的荣誉。模拟方法使用示波器和数字伏安表有一个典型的大概0.1%到1%的正确度和精确度。相比之下,16位译码器的DSP系

8

统四舍五入引起的误差大约限制在0.001%,内部计算以浮点数方式进行。换句话说,这种装置的精度大约是所用的测量工具的精度的100倍。对频率响应适当的估计需要一个专门的设备,就像一个20bit的数模转换器处理过的数据。事实就是,DSPs被用来处理要求高精度的测量装备一点都不奇怪。 ***(543页)***

现在我们来回答这样的问题:为什么Analog Devices公司销售数字信号处理。就在十年前,自动距离跟踪的信号处理技术就在精密的高级移动电话业务和类似晶体管的回路中得到应用。今天,最高质量的模拟处理过程都能用数字技术来操作。Analog Devices公司是个人和单位的一个伟大的典范;保持你的视野和目标,但是不要危惧技术的革新。

定点数和浮点数的对比

在上一例中,我们充分利用了SHARC DSP的一项核心特征,它能胜任浮点数的运算。甚至输入或输出译码器的瞬时值是定点数格式的数据,在将它们转换成浮点数格式的FIR滤波器算法上我们遇到了难题。就像上一章所讨论的那样,有两个原因使我们必需将数据转换成浮点数格式:便于程序设计,执行。它确实有什么不同吗?

对于程序师,它确实有很大不同。浮点数代码更容易编写。回顾图29-2的汇编程序。在主FIR滤波器里只有两行(41和42行)。相比之下,在定点数情况下程序员必需为每一步数学计算编写处理代码。为了避免溢出和下溢,必需核实值的大小,如果需要的话,还要核实相应的刻度。中间结果需要用一个扩展的高性能的电池来维持以避免重复的四舍五入错误产生的结果混乱。

运行的问题相对来说要小得多。例如,图29-5a显示了一个带有实时中断的FIR低通滤波器,就像16章叙述的那样。这种“大尺度”曲线无论是用定点数或者浮点数计算看起来都一样。为了看出这两种方法的区别,我们必需通过倍增器将幅度放大几百倍,就像(b)(c)(d)显示的那样。这时,我们看到了明显的区别。浮点数运行的结果,如(b),在我们设计的方法下通过滤波器核心的限制实现其噪音的平滑过渡。那个过渡旁边0.02%的越界是因为滤波器使用的是布莱克窗体。要点是,如果想改善程序,重点在于运算法则,而不是运行。(c)和(d)中的曲线显示了在滤波器核心内每16bit和14bit单独描绘一个点时会引起那个噪音。在好的运算法则也无法优化这条曲线;频率响应的的准确形状将被噪音吞没。

图29-6显示了定点数和浮点数在时域范围的不同。图(a)显示了一个波动信号的幅度以指数下降。这也许会再现,例如,播线发出来的声波,或者远处爆炸而引起的大地摇晃。就像从前一样,这种“大尺度”波形的不管是以定点数还是浮点数采样的瞬

9

时值看起来都是一样的。为了看出来不同,我们必需对幅度进行放大。就像(b),(c)和(d)显示的那样。如第3章所述,这种量化显示了很多额外噪音,限制了区别信号不同组成的能力。

这些定点数和浮点数运行之间的不同常常不是重点;例如,就像图29-5a和图29-6a大尺度显示的那样,它们一般不能被区别出来。然而,一些运用如浮点数的额外功能却是非常有用的,有时甚至是关键问题。例如,高保真度的消费者音频系统,就像CD唱机,以 16bit定点数再现原始信号。大多数情况下,它超过了人类听觉的识别能力。然而,最好的个人音频系统采样信号达到了20到24bit,使我们的音乐储存达到了完美的境界。浮点数运算是处理高精度数字信号近乎完美的运算法则。

浮点数优秀表现的另一个例子在当运算法则对噪声很敏感的时候。例如,FIR滤波器对于四舍五入引起的结果很敏感。如图29-5所示,四舍五入噪声并没有改变频率响应

10

曲线的形状,但是整个曲线都充满了噪音。IIR滤波器不同;四舍五入可以引起各种各样的灾难,包括是它们本身不稳定。浮点数可以让这些算法通过消除频率曲线锐度,减小衰减带,跳变响应越界来实现更好的性能。

先进的软件工具

我们最想检验的是C语言编译器。就像上一章讨论的那样,汇编和C语言通常都用来为DSPs编程。

11

使用C语言的一个很大的好处就是能利用函数库,这也是C语言和DSP算法的一个基本的操作。图29-3显示了部分应用于SHARC DSPs的C语言函数库。这个数群包括了很多DSP的通用功能,如三角函数(正弦,余弦,正切,等等),对数,指数。如果你的程序里需要用到这些函数,就有足够的理由用C语言来编程而不是汇编。对图29-3的“信号处理”程序应引起足够重视。现在,你将发现DSP的关键算法,包括:实数和复数快速傅立叶变换,FIR和IIR滤波器,和统计学函数如平均值,均方根,和方差。当然,所有这些程序都是用汇编语言编写的,使它们运行起来在速度和储存上效

12

13

图29-4举了一个C程序的例子,来自Analog Devices公司的“C语言编程导读和参考手册”。这个程序通过附加一个编译的延迟相对它本身产生了一个回音。从输入获得的最新的4000个瞬时信号被储存在一个循环缓冲器中。每个信号需要时,缓冲器就更新,新数据信号覆盖最早的信号,结果值直接输出。

下一个你将寻找的先进软件工具有一个完整的开发环境。这是一个奇特的要求,意味着DSP编程和测试的全部需求都将集成在一个迷人的工具包里。Analog Devices在产品中提供了一个叫做VisualDSP综合的开发环境,在Window95和WindowNT环境下运行。图29-7显示了软件运行的主界面,提供了无懈可击的编辑,构造,和调试程序。

这里介绍VisualDSP的一些关键特征,显示了为什么一个完整的开发界面对软件的迅速发展有着重要的作用。编程者将为用C语言,汇编和它们的混合编写而吃惊。例如,理解了语言的语法,就可以用不同的方式来陈述不同的颜色。你也可以一次编写不止一个的文件夹。这是非常方便的,创建最后的程序是为了将这些文件夹链接到一起。

14

本文来源:https://www.bwwdw.com/article/cvur.html

Top