软件无线电之数字下变频(Matlab实例)
软件无线电之数字下变频
1 原理
在通信系统中,为了易于信号发射以及实现信道复用,传输的信号发射频率一般很高。
在接收机中,为了降低信号的载波频率或是直接去除载波频率得到基带信号,通常将接收信号与本地振荡器产生的本振信号相乘,然后通过低通滤波器获得变频后的信号,这种技术手段则是下变频。
数字下变频(Digital Down Converter,DDC)指在接收机中对ADC采样信号混频后得到的中频信号比原始信号的频率低的一种混频方式,是软件无线电(Software Defined Radio,SDF)的核心技术之一。
数字下变频的基本流程如下图,大致可分为两个基本的模块——数控振荡器NCO(Nu-merical Control Oscillator)混频模块和抽取滤波模块。其中NCO模块产生正余弦波样本值,然后分别与输入数据相乘,完成混频。
混频后的信号通过低通滤波器和抽取器得到输出信号。
2 实例
阐述原理的时候讨论了复信号的情况,在这儿我们只看一个时域信号数字下变频的例子,复信号只是多一个通道。
假设载波信号频率30MHz
% HIGH FREQUENCY (CARRIER)
f_carrier=30
w_carrier=2*pi*f_carrier;
原始信号频率2MHz
% BASE FREQUENCY (RIDER)
f_rider=2
w_rider=2*pi*f_rider;
接收机采样率80MHz(>2倍载波频率=60MHz,满足类奈奎斯特采样定理)
% SAMPLE RATE
N=60;
fs=80;
f=0:fs/N:fs-fs/N
t=0:1/fs:(N-1)/fs;
所以载波信号是
s_carrier=cos(w_carrier.*t);
ADC采样得到的信号是
s_carrier=cos(w_carrier.*t);
采样信号和本振信号做混频
%% MUL
s_multied=s_input.*s_carrier;
混频前后的频谱分别是
fre_map_input=fft(s_carrier);
fre_map_carrier=fft(s_multied);
figure
subplot(3,1,1)
plot(f,abs(fre_map_input))
title("采样输出频谱")
subplot(3,1,2)
plot(f,abs(fre_map_carrier))
title("本振叉乘输出频谱")
对比两图可知,采样信号和本振信号混频后,原始信号分量在频谱两侧上显现出来。要得到原始信号,只需要再对混频输出做低通滤波
%% FIR
st_filted = lowpass(s_multied,f_rider*4,fs);
fre_map_filted=fft(st_filted);
subplot(3,1,3)
plot(f,abs(fre_map_filted))
title("低通滤波输出频谱")
结果符合预期。
附
完整的MATLAB程序如下
%% PARAMETERS% HIGH FREQUENCY (CARRIER)
f_carrier=30
w_carrier=2*pi*f_carrier;
% BASE FREQUENCY (RIDER)
f_rider=2
w_rider=2*pi*f_rider;
% SAMPLE RATE
N=60;
fs=80;
f=0:fs/N:fs-fs/N
t=0:1/fs:(N-1)/fs;%% SIGNAL
s_input=cos(w_carrier.*t+w_rider*t.^2);
s_carrier=cos(w_carrier.*t);%% MUL
s_multied=s_input.*s_carrier;
fre_map_input=fft(s_carrier);
fre_map_carrier=fft(s_multied);
figure
subplot(3,1,1)
plot(f,abs(fre_map_input))
title("采样输出频谱")
subplot(3,1,2)
plot(f,abs(fre_map_carrier))
title("本振叉乘输出频谱")%% FIR
st_filted = lowpass(s_multied,f_rider*4,fs);
fre_map_filted=fft(st_filted);
subplot(3,1,3)
plot(f,abs(fre_map_filted))
title("低通滤波输出频谱")
软件无线电之数字下变频(Matlab实例)相关推荐
- 上变频的matlab实现,数字下变频Matlab 仿真
第一天: 输入信号的中心频率在fc= 1M, 带宽B=10K,对其做FFT频谱分析 要求RBW=100hz.,因此采样时间t=1/100s 采样频率fs=10M,所以采样点数N=t*fs=100K 要 ...
- MATLAB实现中频正交采样(数字下变频)
数字下变频原理 在数字信号处理中获得零中频数字信号的办法是将中频信号通过抗混叠滤波器,得到 再经过同相支路乘法器(乘法信号由相参振荡器获得,是一个中频正弦波)得到同相分量 将上述信号通过低通滤波器 ...
- 数字下变频和数字上变频
在超外差式接收机中,如果经过混频后得到的中频信号比原始信号低,那么此种混频方式叫做下变频 (Down Converter or DC).将射频信号通过一次或者几次的模拟下变频转换到中频上,在中频对信号 ...
- 双通道中频信号数字下变频及相位差估计(FPGA)
双通道中频信号数字下变频及相位差估计实验 一.上框图(通俗易懂) 二.实验要求 1. 用点频信号模拟中频信号:中频信号由DDS1和DDS2产生.具体产生方法见第2点. 2. DDS1和 DDS2:调用 ...
- 数字图像处理matlab作业,数字图像处理matlab大作业
<数字图像处理matlab大作业>由会员分享,可在线阅读,更多相关<数字图像处理matlab大作业(23页珍藏版)>请在人人文库网上搜索. 1.几个图像处理实例,matlab ...
- 直接数字下变频(1):低通滤波法实现
实信号的频谱包括正负频谱两部分,正负频谱共轭对称,每一部分都含有信号的全部信息,如果只对其进行单路相位检波的话,正负频谱会在零频附近发生频谱混叠:若想不发生频谱混叠,需要对实信号进行正交双路相位检波, ...
- 【数字下边频】DDC 数字下变频
数字下变频:DDC(Digital Downconverter) 一.首先理解下变频.上变频.中频的概念: 通信系统中的变频,简单说就是与本地振荡器产生的正弦信号(本振)进行混频,来改变信号所处的频段 ...
- ajax php计数,jQuery+PHP+Ajax动态数字统计展示实例
jQuery+PHP+Ajax实现的一款动态数字统计展示实例,本例是在页面上动态展示了当前在线用户数,当然了,你可以应用到其他更多场景中. 首先我们在#number放置要统计的数字: 当前在线: - ...
- 【资源分享】数字图像处理MATLAB版冈萨雷斯+中文高清版+随书源码链接
写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友. 目录 1.数字图像处理MATLAB版冈萨雷斯+中文高清版 2.数字图像处理MATLAB版冈萨雷斯随书源码 1.数字图像处 ...
最新文章
- ArrayMap java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Object[]
- JSP页面中实现使用taglib导入库时自动提示(JSTL 库安装)
- 为什么苹果不再需要谷歌地图?
- 一、第一个注解的 SpringMVC 程序
- 员工发布“宏颜获水”广告引争议 苏宁回应:系个人行为
- mybatis select 返回值long null_Mybatis框架(二)
- Mysql Oracle Tidb对空值的处理
- java在win8闪退_解决Win8/Win8.1系统下的IE11闪退的六种方法
- 蚂蚁上市,身边又多了一堆千万富翁!
- 实习成长之路:设计模式二:接口vs抽象类的区别?如何用普通的类模拟抽象类和接口?
- java多线程系类:JUC线程池:02之线程池原理(一)
- 信念就是一种观念对不对_信念与观念一字之差天差地别
- TortoiseSVN文件夹及文件图标不显示解决方法
- Java通信之服务器生猛上手
- 读jQuery之十七(attribute/property/class)
- 前端微服务化解决方案
- XXE漏洞的详解与利用
- 磁共振功能成像BOLD-fMRI原理
- ubuntu系统shell 中source: not found错误
- 计算机科学论文写作2-搜寻、阅读和引用文献