I want to generate a Complex LFM Chirp waveform using a created chirp function known as git_chirp
35 views (last 30 days)
Show older comments
function x = git_chirp( T, W, p ) %CHIRP generate a sampled chirp signal % X = git_chirp( T, W,
) % X: N=pTW samples of a "chirp" signal % exp(j(W/T)pi*t^2) -T/2 <= t < +T/2 % T: time duration from -T/2 to +T/2 % W: swept bandwidth from -W/2 to +W/2 % optional: % P: samples at P times the Nyquist rate (W) % i.e., sampling interval is 1/(PW) % default is P = 1 % if nargin < 3 p = 1; end J = sqrt(-1); %-------------- delta_t = 1/(p*W); N = round( p*T*W ); %--same as T/delta_t, but rounded nn = [0:N-1]'; % x = exp( J*pi*W/T * (delta_t*nn - T/2).^2 ); % old version x = exp( J*pi*W/T * (delta_t*nn - (N-1)/2/p/W).^2 ); % symmetric version
Above is the code for the chirp function I want to model it with tau = 100 microseconds, swept bandwidth of 100kHz and oversample factor k =1.2.
0 Comments
Answers (1)
Moksh
on 15 Sep 2023
Hi Ardise,
You can try using the “chirp” function in MATLAB, for implementing a general linear complex chirp signal.
This function takes an array input specifying the time instances and the frequencies specified as ‘f0’ and ‘f1’ represents the frequencies at time 0 and ‘t1’.
Here is an example code for implementing this function:
%% General linear complex chirp signal
% Sampled for 10s at 1Khz
t = 0:1/1e3:10;
f0 = -200; % Initial frequency
f1 = 300; % End frequency
initial_phase = 0; % Initial Phase
% Plotting the chirp signal
y = chirp(t, f0, t(end), f1, "linear", initial_phase, "complex");
Please refer to the below documentation to know more about the “chirp” function:
Hope this helps!
0 Comments
See Also
Categories
Find more on Waveform Generation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!