数字下变频 FPFA ddc原理、数字变频 iq采样 matlab仿真 与vivado dds ip核的使用与dds ip核频率校正

一、数字变频原理(积化和差,取和或取差)
单通道变频:
设中频信号x(t):
在这里插入图片描述
x(t)与cos(wt)混频得到z(t)。
z(t)加上低通滤波后滤除和频部分得到:
在这里插入图片描述
完成下变频。若加上高通滤波滤除差频部分得到:
在这里插入图片描述
完成上变频。

数字混频正交变换。实信号频谱具有共轭对称性,正负频谱中的任何一个都能完整还原出信息。正频率分量的信号是一个复信号,其实部是原信号本身,虚部是原信号的希尔伯特变换(正交变换)。当实信号将频谱搬移到基带时正负频谱会发生混叠,因此搬移时使用只含单边频谱的复信号。复信号处理后得到单边普信号,再进行频谱搬移时包络信息不会失真。实信号在将频谱向0中频搬移时会发生正负频率的混叠造成信号失真。基带信号的中频为0,它既有正频分量,又有负频分量,但由于它是复信号,其频谱不具有共轭对称性,若对其剔除负频分量就会造成信息的损失。

双通道变频:
在这里插入图片描述

设中频信号x(t)为:

其中:
在这里插入图片描述

令:

在这里插入图片描述

差角公式:
在这里插入图片描述
可以看出信号的同相分量cos(a)和正交分量sin(a)分别乘以一对正交信号cos(b),sin(b)后混频也可得到差频信号y(t)。

原理图如下:
在这里插入图片描述
二、matlab仿真:

%% MSK 调制
clear all; close all;
Fs = 200e6;
Fc = 70e6;
symb_rate = 20e6; %符号速率
M = 2;      %MSK调制阶数
m = 0.5;    %MSK调制指数
freqsep = symb_rate*m; %频率间隔
nsamp = Fs/symb_rate;
dat_bit = randi([0 1],1,100);
y = fskmod(dat_bit,M,freqsep,nsamp,Fs);
figure();plot3(1:length(y),real(y),imag(y));

% 中频
len = length(y);
t = (0:len-1)/Fs;
y_fc = y .* exp(1i*2*pi*Fc.*t);
figure();plot3(1:length(y_fc),real(y_fc),imag(y_fc));

% iq合路相加
signal = real(y_fc)+imag(y_fc);
figure();plot(signal(1:200));

% iq采样

Y = signal .* exp(-1i*2*pi*Fc.*t);
figure();plot3(1:length(Y),real(Y),imag(Y));

% 低通滤波
fir_lp = fir1(100,0.48,'low');
Y_l = filter(fir_lp,1,Y);
figure();plot3(1:length(Y_l),real(Y_l),imag(Y_l));

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

低通:
在这里插入图片描述
在这里插入图片描述

clear all; close all;
Fs = 1e4;
t  = (0:1000)/Fs;
Fre= 1e2+20;
signal = sin(2*pi*Fre*t);
plot(signal);

Fc = 1e2;
cosw = cos(2*pi*Fc*t);
sinw = sin(2*pi*Fc*t);
figure();
plot3(t,cosw,sinw);

i = signal.*cosw;
q = signal.*sinw;
figure();
plot3(t,i,q);

fir_lp = fir1(500,0.001,'low');
i_l = filter(fir_lp,1,i);
q_l = filter(fir_lp,1,q);
figure();
plot3(t,i_l,q_l);title("α-β")

fir_hp = fir1(500,0.01,'high');
i_h = filter(fir_hp,1,i);
q_h = filter(fir_hp,1,q);
figure();
plot3(t,i_h,q_h);title("α+β")

sin(α):
在这里插入图片描述
cos(β)+i*sin(β):
在这里插入图片描述
sin(α)cos(β)+isin(α)*sin(β):
在这里插入图片描述

α-β
在这里插入图片描述
α+β
在这里插入图片描述

三、dds ip核的使用
IP核作用:dds IP核的作用是产生一定频率的信号,原信号与生成的信号相乘,就能混频得到含有原信号与生成信号两个频率的差频与和频的信号。在通过滤波器得到差频部分或和频部分。

在这里插入图片描述

IP核参数设置:
Frequency per Channel = System Clock / Channels Number

Frequency Resolution = Frequency per Channel/2^(Phase Width).

Phase Width 即量化相位值的数据位宽。相位最小增量为1/2^PhaseWidth*2π。

每个通道信号的频率 = Phase Angle Increment Values * Frequency per Channel/2^(Phase Width).
= Frequency Resolution * Phase Angle Increment Values.

Implementation中Phase Increment Programability设置为Programmable使生成正弦波的频率可以通过外面控制改变,常用于频偏校正。

四、频率校正

dds输出的频率不精确时需要频偏校正,比如驱动时钟是204.8MHz需要产生1MHz的正弦波形时如果相位的精度是32位,则每个时钟的相位增量就是(1M/204.8M)*(2^32) = 20,971,520 是一个整数,dds产生的正弦波频率为1MHz。如果驱动时钟是200MHz要产生1MHz的正弦波,则每个时钟的相位增量就是1/200*2^32=21,474,836.48 是一个小数,此时相位增量只能设置为21,474,836就会造成产生的正弦波频率约为0.9999999776MHz。此时就需要将丢失0.48的相位补偿回来补偿的周期为0.48与1的最小公倍数25(0.48*25=1*12),也就是每第25个时钟时相位的增量为21,474,836+12 (21,474,836.48*25==21,474,836*24+21,474,848*1)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值