当前位置:网站首页>(duc/ddc) digital up mixing / quadrature down mixing principle and MATLAB simulation
(duc/ddc) digital up mixing / quadrature down mixing principle and MATLAB simulation
2022-06-22 21:34:00 【wgm1996】
Digital up mixing 、 Down-Convertor matlab Simulation , If readers are interested, please update later FPGA Implementation code .
In the code lowpass For low pass filter matlab Inside APP Filter Designer Generate , The specific configuration is as follows :

Simulation results :











Simulation code :
%% Digital up conversion 、 Digital quadrature down conversion simulation
clc;
clear;
close all;
%% Parameter setting
T = 20e-6; % Pulse width 20us
B = 50e6; % bandwidth 50M
f0 = 120e6; % 120M Intermediate frequency
Fs = 960e6; %1G sampling
N = T*Fs;
K = B/T;
t = linspace(-T/2, T/2, N);
F = ((1:N)-1)*Fs/N - Fs/2;
%% DUC Digital up conversion
%LFM
sig = exp (-1j*pi*K*(t).^2);
figure;
plot(real(sig)) ;
hold on;
plot(imag(sig)) ;
title(' Original signal time domain ( Real component )');
% Pulse pressure
coe = exp(1j*pi*K*(t).^2);
len = length (coe);
coe = coe.*hamming(len).';
pc = conv(sig, coe);
figure;
plot(abs(pc));
title(' Original signal pulse compression result ');
figure;
plot(20*log10(abs(pc)/max(abs(pc))));
title(' Original signal pulse compression result (dB)');
figure;
plot(F/1e6, abs(fftshift(fft(sig))));
xlabel(' frequency /Mz');
title(' Baseband signal spectrum ');
% Intermediate frequency
mid_f =exp(1j*2*pi*f0*t);
figure;
plot (F/1e6, abs(fftshift(fft(mid_f))));
xlabel(' frequency /MHz');
title(' If signal spectrum ');
% Up mixing
f_up = sig.*mid_f;
figure;
plot(F/1e6,abs(fftshift(fft(f_up))));
xlabel(' frequency /MEz');
title(' Up mixing signal spectrum ');
%% DDC Digital down conversion
% Digital quadrature down mixing
mid_f_in = cos(2*pi*f0*t + pi*K*(t).^2);
figure,
plot(F/1e6, abs(fftshift(fft(mid_f_in))));
xlabel(' frequency /MHz');
title(' Down mixing input signal spectrum ');
mif_f_sin = sin(2*pi*f0*t);
mif_f_cos = cos(2*pi*f0*t);
f_down_real = mid_f_in.*-mif_f_sin;
f_down_imag = mid_f_in.*mif_f_cos;
f_down = f_down_real + 1j*f_down_imag;
figure;
plot(F/1e6, abs(fftshift(fft(f_down))));
xlabel(' frequency /MHz');
title(' Digital quadrature down mixing signal spectrum ');
% IQ The two channels are respectively low-pass filtered
f_down_new_real = zeros(1,50000);
f_down_new_real(1:length(f_down_real)) = f_down_real;
f_down_new_imag = zeros(1,50000);
f_down_new_imag(1:length(f_down_imag)) = f_down_imag;
%5OM low pass filter
load lowpass
f_down_lowpass_real = filter(lowpass, 1, f_down_new_real);
f_down_lowpass_imag = filter(lowpass, 1, f_down_new_imag);
f_down_lowpass = f_down_lowpass_real + 1j*f_down_lowpass_imag;
figure;
plot(abs(fftshift(fft(f_down_lowpass))));
% xlabel(' frequency /MHz');
title(' Low pass filtered signal spectrum ');
figure;
plot(imag(f_down_lowpass)) ;
hold on;
plot(real(f_down_lowpass));
title(' Time domain of low-pass filtered signal ( Real component )');
pc = conv(f_down_lowpass, coe);
figure;
plot(abs(pc));
title(' Low pass filtered signal pulse compression results ');
figure;
plot (20*log10(abs(pc)/max(abs(pc))));
title(' Low pass filtered signal pulse compression results (dB)');
边栏推荐
猜你喜欢

ByteDance proposes a lightweight and efficient new network mocovit, which has better performance than GhostNet and mobilenetv3 in CV tasks such as classification and detection

杰理之开启四声道通话近端变调问题【篇】

One line of code binds swiftui view animation for a specific state
![[redis]redis persistence](/img/83/9af9272bd485028062067ee2d7a158.png)
[redis]redis persistence

Laravel+ pagoda planning task
![When the AUX1 or aux2 channel is used in Jerry's aux mode, the program will reset the problem [chapter]](/img/0a/93e95a3a2a923497d57895508ce92e.png)
When the AUX1 or aux2 channel is used in Jerry's aux mode, the program will reset the problem [chapter]

鸿蒙第三次培训
![[876. intermediate node of linked list]](/img/c8/463d150bc6c88cfb57e94795957b0e.png)
[876. intermediate node of linked list]
![[142. circular linked list II]](/img/c1/f3a0b863286e9eeda0ae4021420912.png)
[142. circular linked list II]

300. 最长递增子序列 ●●
随机推荐
Redis的使用场景分享(项目实战)
[138. copy linked list with random pointer]
ACM. HJ45 名字的漂亮度 ●●
【ICML2022】利用虚拟节点促进图结构学习
The second harmonyos application development training
杰理之开启四声道通话近端卡顿问题【篇】
PHP image making
2022 a special equipment related management (elevator) examination questions and simulation examination
【OR36 链表的回文结构】
2022 chemical automation control instrument examination exercises and online simulation examination
[206. reverse linked list]
不同网络结构的特征也能进行对比学习?蚂蚁&美团&南大&阿里提出跨架构自监督视频表示学习方法CACL,性能SOTA!
[redis] profile
[redis]三种新数据类型
84- I am on Internet & lt; 52 SQL statement performance optimization strategies & gt; Some views of
ACM. HJ24 合唱队 ●●
[876. intermediate node of linked list]
安卓kotlin sp dp转px
长安旗下阿维塔科技增资扩股落定:宁德时代将持股约24%!
redis学习笔记