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 ...


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

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

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 ...


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

I think you can use standart method of fitting data to Straight Line. See for example explanation in 15.2 of "Numerical Recipes in C" http://apps.nrbook.com/c/index.html (page 661-662) To prepare arrays of $x_i$, $y_i$, $\sigma_i$, you must for each point on your image (frequency-time): $x_i$ := frequency $y_i$ := time $\sigma_i$ := 1/intensity (or 1/...


2

Though the question is classic signal processing, you can use a computer vision technique called Hough line detector. The idea is that each pixel votes for all the possible lines that pass through it. Eventually, you select the line with the maximal amount of votes. In your case, you can weight each pixel vote by its intensity. This step will give you a ...


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

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

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

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 ...


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

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:...


1

If you look at the first derivative of your frequency sweep, you will note that the derivative goes thru zero just below 100 Hz and just above 200 Hz. When the slope of the frequency is near zero, the frequency isn't changing very fast, thus staying longer in those frequency regions, thus having more energy in those frequency regions or bins, thus causing ...


1

FFT calculates spectrum over the whole duration of your signal (integrates energy at each frequency over the time of accumulation) while spectrogram shows frequency variation in time (instantaneous frequency). Divide the whole frequency band of interest in some equal intervals and evaluate how much time signal's frequency falls in each interval. These time ...


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 ...


1

Why use an FFT for this? I think there are better simpler ways to do this. For example, you can simply measure the distance between zero crossings to get a first order estimate for frequency vs time and then refine with reconstructing the sweep and looking at the difference of the original and the reconstructed signal.


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