Up Conversion and Down Conversion in Phased Array Toolbox

16 Ansichten (letzte 30 Tage)
Waseem
Waseem am 23 Jan. 2024
Kommentiert: George am 29 Jan. 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.

Akzeptierte Antwort

George
George am 24 Jan. 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 Kommentare
Waseem
Waseem am 25 Jan. 2024
Bearbeitet: Waseem am 25 Jan. 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 am 29 Jan. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by