How to generate complex envelop signal using chirp function

Matlab chirp function will generate cosine-based chirp signal, say from f1 to f2 with 10MHz linear chirp. How to modulate the signal to a carrier at fc, and in complex envelop form?

 Accepted Answer

One way to get the complex chirp is to form analytical signal, e.g.,
f1 = 0; f2 = 10;
t = 0:0.01:1;
xi = chirp(t,f1,1,f2);
x = hilbert(xi);
Alternatively, you can just use a complex chirp signal equation to derive it, like
x1 = exp(1i*pi*(f2-f1)*t.^2);
To modulate to the carrier, you need to multiply the carrier signal, like
fc = 50;
xm = x.*exp(1i*2*pi*fc*t);
However, most simulation is done in complex baseband and even in RF simulation it models the effect of RF distortion on the baseband signal.
HTH

1 Comment

Hello Honglei if fc=18e9, what will be time interval in your t=0:dt:1; dt < 1/(2fc), am I right? then the x will be a very long vector. if I use phased.WideBandCollector to collect data using 20x20 URA, the data will be huge. However, in my application I only need 400 sample of the modulated 18GHz signal

Sign in to comment.

More Answers (1)

Hello Honglei Many thanks for your answer. What I want to do is that a URA gets 400 samples from the signal of a LFM(5MHz) modulated on 18GHz with SNR=10dB. I try to use phased.WideBandCollector. Can you answer my question in my next question?
Many thanks Chen

Asked:

on 23 Jan 2018

Commented:

on 23 Jan 2018

Community Treasure Hunt

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

Start Hunting!