基于matlab的数字下变频器的设计与仿真应用,基于MATLAB的数字下变频器的设计与仿真应用.pdf...

基于MATLAB的数字下变频器的设计与仿真应用

中国科技论文在线

基于 Matlab 的数字下变频器的设计与仿真

朱建新,沈树群*

(北京邮电大学电子工程学院,北京 100876 )

摘要:本文通过对数字变频器中关键技术的研究,给出了一种数字下变频器中的带通采样速

率和各种数字滤波器的设计方案,并应用Matlab 搭建了一个系统对数字下变频器进行了仿

真。经 Matlab 仿真验证,设计的数字下变频器能够很好地实现对中频信号的下变频处理,

达到了预定的设计目标,极大地降低了数字信号处理的运算量,提高了系统的实用性,方便

了后续的基带信号处理。

关键词:数字下变频;带通采样;积分梳状滤波器;半带滤波器;FIR滤波器

中图分类号:TN914.3

Design and Simulation of Digital Down Converter Based on

MATLAB

Zhu Jianxin, Shen Shuqun

(School of Electronic Engineering, Beijing university of posts and telecommunications, Beijing

100876)

Abstract: The paper studies some key technologies in digital down converter and designs a digital

down converter. Using the Matlab software, we construct a system to simulate the digital down

converter. The results of the simulation shows that the system has achieved the designed goals and has

greatly reduced the calculation of the digital signal process, which largely improve the practicality of

the system so it can facilitate the following base band signal processing.

Key words: Digital down converter; Band-pass sampling; CIC filter; HB filter; FIR filter

0 引言

在认知无线电频谱感知系统中,需要对频率为50M~2000M 中的模拟信号进行数字化,

并判断是否有常规用户正在使用该频段,若没有,则加入可用频段数据库中。在这个系统里

面,需要实时高速地处理数据,因此需要采用数字下变频技术(DDC ),将采样得到的高

速率频带数据流变成低速率的基带数据流,极大地降低数据量,方便后续的数据处理,因此

数字下变频器的高效设计非常关键。通过采用带通采样,可以极大地降低对模数转换器的要

求;通过多级滤波和抽取,可以降低对每级滤波器的性能和要求。积分梳状(CIC )滤波器

和半带(HB )滤波器是实现DDC 的两种高效数字滤波器[1] 。

本文通过对带通采样速率和DDC 中各种数字滤波器进行设计,应用MATLAB 搭建了

一个系统对认知无线电频谱感知系统中的数字下变频部分进行仿真。仿真结果表明,系统很

好地实现了对中频信号的带通采样和数字下变频处理,极大地降低了数字信号处理的运算

量,提高了系统的实用性,方便了后续的基带信号地实时处理。

1 数字下变频的基本结构

典型的数字下变频结构如图1 所示。可以把数字下变频分为两个基本的模块,数控振荡

器NCO (Numerical Control Osci

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/436707.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【转】C#中[STAThread]的作用

C#的关键字 [STAThread]即 single-threaded apartment一: 每个Thread都有一个关于ApartmentState的属性,可以把它设置为:STA或者MTA,或者UNKNOWN。 当你想指定工程的启动窗口的时候,你需要在该窗口类中申明一个Main()方…

开始blog

我不是一个习惯用文字记录心情,事情的人。原因有三:1、没有毅力,小时候爱买精美的日记本,但总写几页就扔到一边了。2、从小就不爱写作文,所以文笔很差。有时翻开自己以前的日记,看了都想撕。3、字写得难看。…

【转】C#搭建Oauth2.0认证流程以及代码示例

对于一个普遍问题,必有对应的一个简洁优美的解决方案。这也许只是一厢情愿,因为根据宇宙法则,所有事物总归趋于混沌,而OAuth协议就是混沌中的产物,不管是1.0、1.0a还是2.0,单看版本号就让人神伤。 OAuth2.0…

语言差异引起的问题解决一例

在2004DevDay中,介绍的SmartClient技术以及其DataProtection技术,刚好目前的项目计划使用这样的技术。我是使用C#编码的,但IssueVission是用VB.Net写的,这难不倒我,毕竟BASIC还是自己的入门语言,VB和VBScri…

思想已经高过行动好多了

好几天过去了,依然没什么起色,今天搜索一下论坛上自己的老帖,整理出来做个见证,看着自己才开始ASP的时候问的问题,不知所云。现在就不一样了,哈哈……在听了些微软的讲座之后,对设计模式很感兴趣…

【转】自旋锁-SpinLock(.NET 4.0+)

短时间锁定的情况下,自旋锁(spinlock)更快。(因为自旋锁本质上不会让线程休眠,而是一直循环尝试对资源访问,直到可用。所以自旋锁线程被阻塞时,不进行线程上下文切换,而是空转等待。…

php实现把es6转为es5,如何将ES6代码转化为ES5?

比方说下面这段代码:const navigator window.navigatornavigator.getUserMedia navigator.getUserMedia ||navigator.webkitGetUserMedia ||navigator.mozGetUserMedia ||navigator.msGetUserMediaconst AudioContext window.AudioContext ||window.webkitAudioC…

IBM收购Rational一年总结

IBM收购Rational一年总结 Clint Boulton[2003/12/26] 12月,又到年关总结的时候了,这次,是该IBM给这个耗资2.1亿美元的交易作评价了。 这次收购帮助IBM增加了在使用面向服务架构(SOA)发布Web Service方面增加了筹码。SO…

【转】.NET 自带的动态代理+Expression 实现AOP

下面代码(摘抄之别处,原创在哪不知)是采用TransparentProxy和RealProxy实现对象的动态代理。碍于其使用反射调用方法,所以就小试着将反射改成Expression以提高执行的效率。第15行就是原来代码中反射调用方法的关键代码。 1 using …

新来乍到,谢谢大家捧场

原来的blog是:http://www.blogcn.com/user9/szujobs/index.html由hBifTs 介绍,才得知有这么一个好地方。于是昨天把原来的文章迁移过来,其中一些文章有点旧了,写了有一阵子了。我的朋友都叫温少,毕业自深圳大学&#x…

【转】谈谈c#中异步编程模型的变迁**

大家在编程过程中都会用到一些异步编程的情况。在c#的BCL中,很多api都提供了异步方法,初学者可能对各种不同异步方法的使用感到迷惑,本文主要为大家梳理一下异步方法的变迁以及如何使用异步方法。 BeginXXX,EndXXX模式 在.Net F…

nextcloud php 版本,Nextcloud版本升级教程

捷径:cd /www/wwwroot/x.timeit.cnsudo -u www php updater/updater.phar进行命令更新,并使用occ进行更新系统,并关闭维护模式:sudo -u www php occ upgradesudo -u www php occ maintenance:mode --off注意:(命令需要在nextcloud…

剖析Jive的缓存机制

剖析Jive的缓存机制- - 作者:张磊 本文选自:开放系统世界 2003年06月06日Jive是一个广受欢迎的开放源码的论坛项目,虽然推出了很多年,但至今很多Java程序员还对它津津乐道。从框架结构上看,它采用了很多设计模式&#…

php统计在线时长,js统计网站运行时长

js统计网站运行时长第一种:网站function siteTime(){window.setTimeout("siteTime()", 1000);var seconds 1000var minutes seconds * 60var hours minutes * 60var days hours * 24var years days * 365var today new Date()var todayYear today.…

【转】细说.NET中的多线程 (四 使用锁进行同步)

通过锁来实现同步 排它锁主要用来保证,在一段时间内,只有一个线程可以访问某一段代码。两种主要类型的排它锁是lock和Mutex。Lock和Mutex相比构造起来更方便,运行的也更快。但是Mutex可以在同一个机器上的不同进程使用。 Monitor.Enter和Mo…

发现很多人的基础都不好

加了一些C#的qq群,有一次提了一个很简单的问题,关于abstract class的(具体问题忘记了),很多人都搞不清楚。还有一些所谓在做项目的,只是拖些控件,做个界面(界面还挺漂亮的&#xff0…

oracle ora-22288,向oracle的blob字段导入文件

在数据库主机上创建测试目录及文件$mkdir /test$cd /test$echo "Test Subject" >> subject.html$echo "test ok !" >> mail.html定义文件路径(都是数据库主机上的),并授权$sqlplus user/passwdinstanceSQL>create or replace di…

【转】细说.NET中的多线程 (五 使用信号量进行同步)

上一节主要介绍了使用锁进行同步,本节主要介绍使用信号量进行同步 使用EventWaitHandle信号量进行同步 EventWaitHandle主要用于实现信号灯机制。信号灯主要用于通知等待的线程。主要有两种实现:AutoResetEvent和ManualResetEvent。 AutoResetEvent …

做自己喜欢的人

1)首先做一个快乐的人 什么是成功? 有钱是不是成功?地位是不是成功? 成功就是实现自己有意义的既定的目标 为自己设定阶段性的目标,如果达成这些阶段性的目标就是成功 1)工作2)学习3)家庭生活 三个方面的目…

oracle只匹配中文,Oracle 实现 一个关键字 匹配多个 字段

有这么一个需求,满足只有一个输入框的条件下,支持不同数据列的搜索结果。说白了,就是这个 输入框 既可以用来 搜索姓名,也可以搜索 年龄,地址等。分析:一般情况下,我们的一个输入框对应 数据库…