Up Conversion and Down Conversion in Phased Array Toolbox

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.

 Accepted Answer

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 Comments

Is there any way through which we can input upcoonverted signal as input to the radiator?
Hi Waseem, it might be helpful to see your upconversion code to see exactly what you mean by upconverted signal.
There's a couple of ways that I can think of to intepret this, it would be helpful to know exactly what you are doing to the baseband signal to represent upconversion:
  • Is the upconversion that you are representing a mixing of your baseband signal with a pure sinosoid or with some other signal?
  • Are you resampling the upconverted signal at a higher rate that is high enough to capture the frequency of the carrier? Or are you still sampling the upconvereted signal at the baseband sampling frequency but applying some effects that the upconverter might have on the baseband signal?
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);
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.

Sign in to comment.

More Answers (0)

Products

Release

R2021a

Asked:

on 23 Jan 2024

Commented:

on 29 Jan 2024

Community Treasure Hunt

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

Start Hunting!