A. vhdl语言做分频器,1000000hz变成1hz的
就是把1MHz分频成1hz,两种方法,一种是用fpga自带的锁相环或者时钟管理器,直接设置输出成1hz就行了。另外一种方法就是用hdl实现,包括vhdl和verilog。分频算法如下:计数器开始计数,寄到500000,输出高电平或者低电平;再从500000计数到1000000,输出电平反向。如此反复即可输出1hz时钟信号。
友情提醒:虽然用hdl可以分频时钟信号,但是不建议这样做,因为这样得到的时钟信号不是最优的,可靠性得不到保障,最好选用fpga自带的锁相环或者时钟管理器进行分频和倍频,这样得到的时钟最可靠。
B. 求基于dsp的锁相环程序和电压pi调节算法。。那位高手有啊。。谢谢了。。知道已支持文件上传和下载功能
是不是做逆变器之类的产品?
电压的PI调节算法没什么难度,可以参考DSP控制电机的例程,电流环、速度环中都有PI的代码,虽然控制的对象不一样,但是PI代码都是相同的;
锁相环程序可参照matlab/simulink中的PLL模块的算法编写,可以跟踪电网电压的频率和相位
C. 三项锁相环都有哪些算法
摘要 分析了三相锁相环的基本原理、特性及各种输入情况下锁相环的输出性能。通过理论推导~在三相输入信号存在直流偏移、不对称、谐波等干扰情况下~分析了三相锁相环的检测相 位误差~得出谐波的含量。并通过仿真研究~验证了三相输入信号存在直流偏移、不对称、谐波 等干扰情况下~仿真结果与理论推导一致。并对相位突变和频率突变的情况进行了仿真研究~说 明在相位和频率发生变动时三相锁相环仍能有效地锁定相位~能够满足系统变频的要求
D. ads利用例子来仿真锁相环的锁定时间靠谱吗
任何一条现实中的曲线,在仿真软件中都用数学模型(方法)来模拟(逼近可能更准确),比如投影法。任何结果的获得都是有代价的,时间,准确性,和passivity(这个不知汉语对应的是那个词),比如说无源器件由于模型的原因仿真中产生了增益。其中最令人头疼的就是收敛了。这是一个比较深的研究方向,非线性建模,有兴趣可以深入研究。楼主给的两个warning也许可以通过改变仿真阶数,或者改变算法来消除。不过貌似比较难,最简单的,直接忽视,呵呵。
E. 卡尔曼滤波哪个参数控制收敛快慢
卡尔曼滤波器是一种由卡尔曼(Kalman)提出的用于时变线性系统的递归滤波器。这个系统可用包含正交状态变量的微分方程模型来描述,这种滤波器是将过去的测量估计误差合并到新的测量误差中来估计将来的误差
这种滤波方法以它的发明者鲁道夫.E.卡尔曼(Rudolph E. Kalman)命名,但是根据文献可知实际上Peter Swerling在更早之前就提出了一种类似的算法。
斯坦利.施密特(Stanley Schmidt)首次实现了卡尔曼滤波器。卡尔曼在NASA埃姆斯研究中心访问时,发现他的方法对于解决阿波罗计划的轨道预测很有用,后来阿波罗飞船的导航电脑便使用了这种滤波器。 关于这种滤波器的论文由Swerling (1958)、Kalman (1960)与 Kalman and Bucy (1961)发表。
目前,卡尔曼滤波已经有很多不同的实现.卡尔曼最初提出的形式现在一般称为简单卡尔曼滤波器。除此以外,还有施密特扩展滤波器、信息滤波器以及很多Bierman, Thornton 开发的平方根滤波器的变种。也许最常见的卡尔曼滤波器是锁相环,它在收音机、计算机和几乎任何或通讯设备中广泛存在。
应用实例
卡尔曼滤波的一个典型实例是从一组有限的,包含噪声的,对物体位置的观察序列(可能有偏差)预测出物体的位置的坐标及速度。在很多工程应用(如雷达、计算机视觉)中都可以找到它的身影。同时,卡尔曼滤波也是控制理论以及控制系统工程中的一个重要课题。
例如,对于雷达来说,人们感兴趣的是其能够跟踪目标。但目标的位置、速度、加速度的测量值往往在任何时候都有噪声。卡尔曼滤波利用目标的动态信息,设法去掉噪声的影响,得到一个关于目标位置的好的估计。这个估计可以是对当前目标位置的估计(滤波),也可以是对于将来位置的估计(预测),也可以是对过去位置的估计(插值或平滑)。
F. 嵌入式、FPGA与锁相环有什么关系
首先说明,这仅仅是个人色彩的看法哈。 嵌入式这个东西之所以那么火,是因为的他的需求量确实很大。 而且很多时候都用的单片机做简单的东西。 所以其实并不复杂。 强大的需求推动了这个有暴多培训学校。 学校教的都是直接使用的东西,其实么有啥技术可言, 这里最麻烦的东西应该还算法。别的东西都可以累积一下。 嵌入式 应用确实多。
FPGA相对也就少了点,不过也还是算常见。 主要是追求个速度时候用多,应该会有DSP+FPGA的组合。我不做这个,只是粗劣知道这个计算能力上,反映速度上有优势。
锁相环这个用的就更少的,这个属于纯硬件的范畴,不过这东西不能算IC的最底层,我以前学过半导体物理器件。整个都是算MOS 啊 什么的里面的 电子 空穴浓度,参杂什么的有什么影像,比这个还底把…… 锁相我印象中应该在IC之上建立的,搞一个频率。 具体没有深入研究过。你应该是研究生或者博士生把。 这个东西从技术角度我没法给你啥建议。 我仅仅是从应用角度。哪些东西外面用的多,哪些用的少,不过要走科研道路的活,可能这个更合适把
G. 平方环法的原理
在软件无线电(SDR)技术实现的收发系统中,数字锁相环在载波同步、位同步、相干解调、信号跟踪、频率选择等方面发挥着重要作用,已成为数字调制/解调,数字上变频/下变频中不可缺少的核心器件。接收机为了提取载波,普遍采用平方环法和科斯塔斯环法,其中平方环以其电路结构简单而得到了广泛应用。但在平方环电路的设计中,由于NCO(或VCO)工作在2ωc频率上,当环路锁定后,其NCO(或VCO)的输出需经过二分频才能得到所需载波。而二分频电路在实现过程中,特别是在对NCO进行数字分频时,用FPGA实现太耗资源。
以下提出一种新的数字平方环电路,实现了从BPSK信号中提取相干载波的功能,简单易行,便于实现,并对其进行了数学推导和建模仿真,具有良好的实用价值。
1锁相环的结构
锁相环(PLL)由鉴相器(PD)、环路滤波器(LF)以及数控振荡器(NCO)组成,如图1所示。
鉴相器通常由乘法器来实现,鉴相器输出的相位误差信号经过环路滤波器滤波后,作为数控振荡器的控制信号,而数控振荡器的输出又反馈到鉴相器,在鉴相器中与输入信号进行相位比较。PLL是一个相位负反馈系统,当PLL锁定后,数控振荡器的输出信号相位将跟踪输入信号的相位变化,这时数控振荡器的输出信号频率与输入信号频率相等,但相位保持一个微小误差。
2平方环法的工作原理
在平方环载波恢复电路中,BPSK信号经平方后得到两倍载频的频谱分量,用锁相环提取这一分量,然后进过二分频可得到载频分量,如图2所示。
因鉴相器采用乘法器实现,则鉴相器输出相位误差信号为:
其中,Kd=KpA/4。环路滤波器的输出仅与数控振荡器输出和输入信号之间相位差有关,控制电压,以准确地对数控振荡器进行调整。显然,当本地恢复的同相载波与调制载波达到同频同相时,△φ=0。因此,解调的关键在于调整NCO输出信号的频率和相位,使其最终满足△φ=0或在一个很小的范围内,即相干解调的本地载波同步问题。锁相环在工作时可能锁定在任何一个稳定平衡点上。这意味着恢复出的相干载波可能与所需要的理想本地载波同相,也可能反相。由于本地参考载波有0,π模糊度,因而解调得到的数字信号可能极性完全相反,从而1和0倒置。这对于数字传输来说当然是不能允许的。克服相位模糊度最常用且最有效的方法是在调制器输入的数字基带信号中采用差分编码。
3改进平方环的工作原理
改进的平方环载波恢复电路,如图3所示。利用DDS产生的NCO数控振荡器能够输出完全正交的正余弦信号,并考虑到三角函数之间的关系sin(2ωct+2△φ)=2sin(ωct+△φ)cos(ωct+△φ),因此这里将NCO的频率锁定在载波频率ωc上,然后将NCO两路正余弦输出通过一个乘法器再增益2倍,并且在FPGA实现时,只需要进行简单的移位就能完成乘除法的运算,输出就为传统平方环的NCO输出,由于数控振荡器将频率锁定在ωc上,所以它的正弦输出即为提取的载波,省去了二分频电路。由于传统的二分频电路均采用数字分频电路,不能保持原有的正弦波形,因此还需要附加滤波器等电路。相比改进的电路要复杂得多,并且在实现上也不如改进之后的容易。
4环路部件
4.1 鉴相器
在锁相环中,鉴相器(又称为相位检测器)是一个相位比较装置。它是将输入信号与数控振荡器的输出信号的瞬时相位进行比较,产生一个输出电压。这个电压的大小,直接反映两个信号相位差的大小;这个电压的极性,反映输入信号超前或滞后于数控振荡器输出信号的相对相位关系。由此可见,鉴相器在环路中是用来完成相位差与电压变换的,其输出误差电压是瞬时相位误差的函数。
4.2环路滤波器
环路滤波器用于衰减由于输入信号噪声引起的快速变化的相位误差和平滑相位检测器泄露的高频分量即滤波,以便在其输出端对原始信号进行精确的估计,环路滤波的阶数和噪声带宽决定了环路滤波器对信号的动态响应。文献[5]对几种常用的环路滤波器性能进行了详细的分析。由于一阶环路滤波器会产生稳态相差,从而降低系统误码性能;三阶环路滤波器实际实现难度较大;二阶环路滤波器在直流增益为无穷大,而频偏为常数的情况下,仍然能够实现稳态,实现难度适宜,即采用二阶环路滤波器,其结构框图如图4所示。
式中:ξ为环路阻尼系数,通常取0.707;ωn为阻尼振荡频率;Ts为频率控制字更新周期;Kd为环路增益。详细的推导见参考文献[6]。因此环路滤波器参数的设计关键在于ωn,Kd。通常设计时用滤波器的噪声带宽Bn来取代ωn,即:。锁相环路的各种性能对叫ωn,ξ的要求存在着矛盾和统一,增大叫ωn,ξ,可以增大捕获带,减小捕获时间,加强对NCO噪声的滤除,减小稳态相关,增大同步带,增大同步扫描频率;减小ωn,ξ,可以加强对输入噪声的滤除,延长平均跳周时间。增强一方性能,则会降低另一方性能,因此合理设计环路滤波器的参数能够优化系统的性能。
4.3数控振荡器
NCO在环路中的作用就是产生理想的频率可变的正弦和余弦,确切地说是产生一个频率实时可变的正弦样本。正弦样本可以用实时计算的方法产生,但在高速采样频率中,NCO产生正弦和余弦的最有效办法就是查找表法,即事先根据NCO正余弦相位计算好相应的正余弦值,并以相应的相位角度作为波形存储器(ROM)的取样地址来存储对应相位的正余弦值。NCO的相位,可通过固定的频率控制字(载波频率)与环路滤波器的输出累加和相加得到,即可把存储在波形存储期内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。NCO内部ROM正余弦表的大小影响输出波形的精度,越大的ROM正余弦表,得到的波形输出越理想,但同时增加了硬件资源。考虑到正弦信号的对称性,只存储1/4的周期,即0~π/2的波形,通过对输入到波形ROM的地址及其输出数据的关系,可按照一定算法予以实现。
5仿真与分析
利用Simulink对改进的平方锁相环进行了仿真。由于用FPGA实现时,可直接定义DDS为两路正交的输出,而在Simulink模型中,数控振荡器的输出仅为一端输出。在此为了简单起见,搭建锁相环模型时用到了两个数控振荡器,为得到正交的输出只需要将两个数控振荡器的相位差定为π/2即可。这样做不仅大大地简化了搭建模型的时间,而且对仿真本身没有任何影响,仿真核心部分如图5所示。仿真条件:初始相差为π/3;初始频偏为5 kHz;调制方式为BPSK;码元速率为2 Mb/s;载波频率为4 MHz。
仿真模型如图6所示。其中,Bernoulli BinaryGenerator和sine Wave模块分别产生伯努利分布的随机二进制数序列和载波信号,将随机二进制数序列通过简单的变换模块,生成双极性不归零码,再一起送人Proct模块完成BPSK调制。因为该仿真主要是验证算法的可行性,所以假设是在理想的信道下传输的。在接收解调端,使用乘法器Proct1完成平方功能,也可将该乘法器用绝对值模块等非线性器件模块代替。Proct2作为锁相环的鉴相器,并且该锁相环路为二阶环。为了验证该算法的可行性,设置NCO的中心频率与发送载波频率之间有一定误差,控制灵敏度也可通过仿真实验确定。为了更好地比较仿真结果,SineWavel模块的频率与NCO设置的中心频率一致,并将输出一起送进示波器进行观察分析。
示波器Scope2对比显示了双极性不归零码与相干载波乘积的输出和未经过锁相环路乘积的输出。图7给出了乘以载波之后的信号波形(示波器的横坐标表示时间轴,物理符号是t,单位为s,物理量为2μs;纵坐标表示信号的强度)。为了更加清晰地观察图形,图7波形是低通和抽样判决器之前的波形。从图中对比不难看出,改进的锁相环路能够很好地将信号解调出来,从而达到了预想的效果,并通过仿真得知其仍然能够应用于相关的领域(如调制解调),然而对于有相位差和频偏的载波已经不能解调出原始的信号了。仿真中,如果减小NCO的灵敏度,可观察到锁相环失锁。示波器Scope对比显示了原始双极性不归零码和解调判决的输出,如图8所示(示波器的横坐标表示时间轴,物理符号是t,单位为s,物理量为5μs;纵坐标表示信号的强度)。解调输出的序列比原始序列稍有延迟,但是不难发现,改进的平方环载波恢复电路能够准确地解调调制后的信号,延迟是由于解调模块中的低通滤波和抽样判决引起的。
6 结 语
讲述了平方锁相环的工作原理,并着重讨论了设计思想和过程。在通信飞速发展的今天,进一步简化了锁相环路,该想法为以后的发展提供了很大的参考价值与创新理念,使得平方环不仅仅局限于应用到输入信号载波频率较低的环境中,在较高的条件下也能够用它来实现,而且平方锁相环的结构较科斯塔斯环要简单。
【看参考网站 有图解】