Up Conversion and Down Conversion in Phased Array Toolbox

19 visualizaciones (últimos 30 días)
Waseem
Waseem el 23 de En. de 2024
Comentada: George el 29 de En. de 2024
I would like to know if I need to Up convert my signal from Baseband to Operating frequency or just need to input my Baseband Signal to phased.array radiator object??? if I upconvert my signal and then down convert the output signal. Then it gives me wrong results of Doppler shift.

Respuesta aceptada

George
George el 24 de En. de 2024
Hi Waseem, you just need to input your baseband signal to the radiator object.
If you look at the phased.Radiator object, you will notice an 'OperatingFrequency' property. The underlying assumption of the phased.Radiator object is that your signal data is the baseband signal which modulates a carrier frequency.
  4 comentarios
Waseem
Waseem el 25 de En. de 2024
Editada: Waseem el 25 de En. de 2024
I am mixing the complex Baseband Signal with carrier signal using IQ modulation in first stage and then mixing with another carrier signal using only cos and then filtering out the image. Then this signal is fed to radiator. I am also upsampling the signal to match the carrier signal sampling frequency.
%%
close all; clear; clc;
PW = 3.33e-6;
PRF = 30e3;
BW = 30e6;
fs_BB = 90e6;
waveform = phased.LinearFMWaveform('SampleRate',fs_BB,'PulseWidth',PW,'PRF',PRF,'SweepBandwidth', BW,'SweepDirection','Up',...
'Envelope','Rectangular','OutputFormat','Pulses','NumPulses',1);
Baseband = waveform();
N = size(Baseband,1);
%%
up_freq = 395e6;
fs = 1.17e9; % Sample rate
x_up_sampled = interp(Baseband, 13);
N_1 = size(x_up_sampled,1);
sinewave = dsp.SineWave('Frequency',up_freq,'SampleRate',fs,'SamplesPerFrame',N_1);
coswave = dsp.SineWave('Frequency',up_freq,'SampleRate',fs, 'PhaseOffset', pi/2 , 'SamplesPerFrame',N_1);
xCos = coswave();
xSin = sinewave();
x_up = xCos .* real(x_up_sampled) + xSin .* imag(x_up_sampled);
%%
up_freq_2 = 9.62e9;
fs_2 = 32.76e9;
x_up_sampled_2 = interp(x_up, 28);
N_2 = size(x_up_sampled_2,1);
coswave = dsp.SineWave('Frequency',up_freq_2,'SampleRate',fs_2, 'PhaseOffset', pi/2 , 'SamplesPerFrame',N_2);
xCos = coswave();
xUp2 = xCos .* x_up_sampled_2;
[sig,d] = bandpass(xUp2, [9.985 10.015]*1e9, fs_2, 'StopbandAttenuation', 120);
George
George el 29 de En. de 2024
Hi Waseem - thanks for providing this information, now I understand what you are doing.
It seems that the phased.Radiator does not provide any support for propagating unmodulated signals. Therefore, I think that the phased.Radiator will only work with your baseband signal, with the OperatingFrequency property set to the final carrier frequency of the transmitted signal.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Signal Radiation and Collection en Help Center y File Exchange.

Productos


Versión

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by