4

The CZT allows for a fairly general evaluation of the Z transform - the more general evaluation path looks like a spiral, so it has a radial component step size as well an angular step size.For spectral zooming, you're only using a subset of this. You're evaluating around the unit circle and only for a small set of frequencies. The Zoom FFT can be ...


4

Short answer; I'll try to come back and improve this later. Recall that a matched filter is equivalent to a sliding correlator. At each time instant, the sliding correlator multiplies the last $T$ (where $T$ is the pulse duration) of the input signal by the conjugate of the pulse shape and coherently integrates the result over the pulse duration. If there ...


4

It's often said that pulse compression gives you a gain proportional to the time-bandwidth product (otherwise known as the pulse compression ratio, or $PCR$). This is a really misleading statement, and it had me confused enough to sit down and think about it for awhile. I thought I'd share some of my findings that I pieced together from both reading the ...


3

You can employ cross correlation of the received signal with the signal you know that is contained. Fs = 1000; t = np.arange(0, 2, 1./Fs) s = lambda t: np.cos(2*np.pi*10*t*t) t0 = 0.5 single = s(t) signal = s(t) + s(t-t0) plt.subplot(1,2,1) plt.plot(t, signal) plt.plot(t, single) plt.subplot(1,2,2) plt.plot(t, np.correlate(signal, single, 'same')); The ...


3

Your question is deeper than you think. For signals whose spectra is time varying,like your chirp signal, you lose this spectral variation information in simple Fourier transforms. You must consult time-frequency analysis to retain the full information of both time variation and spectral variations. Consider using "specgram()" function of matlab which ...


3

This part of that paper suggests the answer: The issue being that the standard FFT just does linearly-spaced spectral samples from $-f_s/2$ to $f_s/2$ where $f_s$ is the sampling frequency. The CZT allows for arbitrary selection of the sampled points by selection of f2 and f1 in w. And, as @johnnymopo says below, the CZT is not limited to the unit circle:...


2

I dont understand the definition of the chirp in the link you provided (perhaps chirp in frequency domain?), but maybe the following explanation could help. In general, a linear chirp with a varying frequency given by $$f(t) = \alpha + \beta t$$ is defined by $$ x_1(t) = e^{2\pi j (\alpha t + 0.5\beta t^2)} $$ In that case, the phase of $x_1(t)$, the ...


2

To ask "how fast can you sweep a sinewave?" is to ask "How fast can you hit $\frac{F_s}{2}$?". Because, sweeping a sinewave is equivalent to modulating it. A sine wave looks like: $$x(n) = \sin(n 2 \pi f / F_s)$$ Let's focus on that instantaneous phase. I have put $n$ first, on purpose, to show that phase, in discrete time, is a line that departs from $0$...


2

If I understand correctly, you are trying to create a chirp an arbitrary instantaneous frequency, $f(t)$. In that case, the phase of the chirp is given by $\varphi(t) = 2 \pi \int f(t)dt$ and your signal in time domain is given by $s(t) = \sin(\varphi(t))$. For example, in case of a linear chirp you mentioned, $f(t) = f_0 + \beta t$ (where $\beta$ is the ...


2

An LFM pulse is one in which the "instantaneous frequency" changes linearly over the duration of the pulse. By "instantaneous frequency" I mean the rate of change of phase. Over its $\tau=500\mu s$ duration, a pulse with "bandwidth" $B=50 kHz$ and center frequency $f_c=150 kHz$ would be defined by $f(t)=A\cos(\theta(t))=A\cos(2\pi(f_c-B/2)t+\pi(B/\tau)t^2+...


2

Take the chirp signal $$ x(t) = e^{j\pi\alpha t^2} = e^{j\phi(t)} $$ Where $\alpha$ is the chirp rate of the signal. You can see that the function describing the phase, $\phi(t)$, is in the form of a quadratic equation. So you can plot $$ \phi(t) = \pi\alpha t^2 $$ and see the quadratic nature of the phase at any point in time. The actual phase-change ...


2

If you have a signal $$g(t)=\cos(2\pi \hat{f}(t)t)\tag{1}$$ then the function $\hat{f}(t)$ is not the instantaneous frequency of $g(t)$ (unless $\hat{f}(t)$ is constant). If you want an instantaneous frequency $f(t)$, then the equation $$\frac{\phi'(t)}{2\pi}=f(t)\tag{2}$$ must be satisfied, where $\phi(t)$ is the phase of the signal $g(t)$. So in order ...


2

Instead of phase delay $td(f)$, use group delay $\tau(f)$: $$\tau(f) = -\frac{d}{d\omega}\phi(f),\tag{1}$$ calculated as the negative of the derivative of the phase $\phi(f)$ with respect to the angular frequency $\omega$, which is defined by: $$\omega = 2\pi f\quad\Leftrightarrow\quad f = \frac{\omega}{2\pi}.\tag{2}$$ Using your phase shift $\phi(f)$: $$\...


2

I'm not sure it's your only issue, but I don't think you've "chirped" enough (the maximum and minimum frequencies of your chirp are not far enough apart). Because of this, you get: where the top curve is the chirp, the middle curve is the FFT and the bottom curve is the matched filter output. I've set f1 = 4000; f2 = 4400; in the matlab code ...


1

I can't interpret numpy code, but I don't think you should define an 'N' variable. For a 2-second signal you should have a total of 16000 samples. Here's how to do this in MATLAB (notice how I defined my "number of samples" variable ('Num_Samples')): Fs = 8000; Ts = 1/Fs; % Time between samples T1 = 2; % Signal duration = two seconds F0 = 0; % ...


1

The resulting up chirp traverses across BW and arrives at the same place it started. not quite exactly right, but very close: it ends up in the DFT bin before the bin it started from. This makes the chirps (frequency domain) cyclically shifted versions of the straight-up "prototype chirp". (my name invention) Maybe this way of looking at it helps ...


1

In the comment on your main post you've specified that your question in particular is about range compression, so I'll address that here: Here's a whole bunch of words that explains the motivation of why we might want to use pulse compression: What it boils down to is that when the radar receives a target signal return of say a point target source (ideal ...


1

It may help to know that frequency is the derivative of phase. A change in phase versus a change in time is frequency by definition. A phase that keeps growing in the positive direction linearly represents a positive frequency. If you looked at this on the complex plane you would see a phasor rotating counter clockwise: constant magnitude and linearly ...


1

Rather than re-sampling, this is best accomplished by re-creating the signal after it is Doppler shifted. This allows any arbitrary waveform to have Doppler imparted on it. See Mark A. Richards, "Fundamentals of Radar Signal Processing," section 2.6.1. and in particular equation 2.90 for details on why this works. Let's say that we start with a ...


1

You need to resample the signal to simulate the Doppler induced dilation. The resampling factor is I=Td/Ts where Td = Duration of the signal after dilation Ts = Actual duration of the transmitted signal In Matlab you can use the function resample(), but you need to find the resampling parameters P and Q from I. Also, I=1+v/c for signal expansion and I=1-v/...


1

In my experience in the radar industry, most people use the center frequency of the chirp for such calculations; in your case, that would be 6MHz. Since your bandwidth is only 5MHz this is probably fine. You'd start to run into issues with that calculation if your bandwidth was much wider, say several GHz.


1

So this answer is coming from experience with radar systems which use complex signals (in-phase and quadrature signals so that phase information can be recovered), be aware that you may have to adapt it to fit your exact needs: With radar systems, this is a pretty common problem. Sometimes, for a variety of reasons, the target that is present can’t rise ...


1

This is how I would start the modeling in MATLAB: %% Frequency Error sampleRate = 100e6; h1 = figure(1); set(h1,'name','LFM Processing Loss Over Frequency Error and Pulsewidth'); clf, hold all, grid on freqError = 0; matchedFilterPeak = 0; lfmBandwidth = 5e6; for m = 1:5 pulsewidth = m*20e-6; t = -pulsewidth/2:1/sampleRate:pulsewidth/2; for ...


1

You can calculate the loss using the ambiguity function. If you plot the results in dB, the function can guide you in the project of a bank of matched filters to cover your region of interest. The stuff is not simple to have covered in a post, but i guess you can find your way typing "ambiguity function radar" in your favorite web search engine. This picture ...


1

A first step consists in exploiting the known properties of your signal, by starting from a transformation that converts it into a more readable form. If it is non-stationary, like a chirp, you can use a time-frequency or a time-scale transform. The picture below is borrowed from Time-Frequency Toolbox: While the signal looks complicated, the delay between ...


1

You are correct that the peak output will be the same regardless of pulse shape for pulses with the same energy. This is a tautology, because the peak of the autocorrelation function is identically equal to the signal energy. What is important to note here is that SNR (signal to noise ratio) gain requires noise to actually be present. The SNR gain achieved ...


1

True that a chirp signal helps to get the FRF, but every time we change the frequency we can't reach the steady state, so this will cause bias in the estimation. As an advice try to use the multisine excitation, they are more suitable for such cases.


1

I agree with A_A that the chirp is too fast. I adjusted a few things in the code increase time to $600$ (seconds) start chirp at $0.5\textrm{ Hz}$ end chirp at $2\textrm{ Hz}$ removed zero padding (not required here) And the result is... The full code is % Identification of the Frequency Response of a Transfer Function with % Resonance and ...


1

If you were talking about a Laplace (or Fourier) transform then any function with time varying coefficients has a valid transform. But you have to do the analog/continuous calculation. I would imagine that the same holds true for z transforms except for aliasing; which is not trivial. My experience is that this problem,chirp, is a standard example in ...


1

FFT is an fast algorithm to compute DFT So it works on finite length of samples. This fact has some side effects on the spectrum that it will generate for signal, but generally it consist only signal frequencies that it includes on its time window of length nfft. When u sweep frequency in your sinusoidal, in fact you are doing some sort of frequency ...


Only top voted, non community-wiki answers of a minimum length are eligible