New answers tagged

1

View your frequency response after your low pass filter on a dB scale to better show the limitations of your filter. Use a multiband filter with the least squares algorithm for an optimized rejection filter for zero-fill interpolation. This will concentrate the rejection to be specifically where the images are that need to be removed. Given your original ...


0

You understand the basic operation of the phase detector. Reproducing some of the above, the detected phase error is: $$ e_k = M \arctan\left(\frac{i_k}{q_k}\right) \mod{2\pi} $$ As you noted, for an ideal QPSK constellation at the input to the phase detector, $e_k = \pi$ for all possible symbol values. However, in the presence of phase error $\theta$, the ...


0

Dechirping is a bit different than matched filtering, but perhaps that not important here. The code you have looks like it should work if the variables are as you describe. Here is a hypothetical example that range compresses an LFM pulse. The reflected signal from an actual target in the scene is a just a delayed version of the waveform, so it will just be ...


0

My suggestion: First, low-pass the signal @ 20 kHz. Then, since you are interested for a single component only, you could set up a Least-Squares estimation (in the time domain) for that particular component. You can take a look at the paper "Chirp rate estimation of speech based on a time-varying quasi-harmonic model" where you can process your signal in ...


0

My suggestion: Segment the signal with consecutive windows calculate FFT for each window estimate FFT peaks. In your case only the first peaks is important the variation of the FFT peak (difference in peak location for two consecutive windows) over time (time difference between windows or window length) will give you the local slope. you can calculate ...


0

I observe the following about your signal: of interest are only frequencies below 20 kHz there's but a single, very dominant tone in that – you've got excellent SNR The development of frequency over time is either constant, or a linear function of time So, from that, I'd propose the following steps: Low pass filter appropriately to restrict your bandwidth ...


1

That’s is because of the delay in the GMSK demodulator. MATLab GMSK demodulator uses Virtebi algorithm. You should delay the Rx BER in order to get back the correct data alignment.


0

The Least Mean Square solution to find the "channel" or response of the filter is provided by the following MATLAB/Octave Code using the input to the filter as tx and the output of the filter as rx. For more details on how this works, see this post: Compensating Loudspeaker frequency response in an audio signal: function coeff = channel(tx,rx,ntaps) % ...


1

The result of your plot is what you would see when you have timing offset error but no frequency error. Given that it is over-sampled you can confirm this by manually adjusting your decision point a few samples either way. Even better plot out an eye diagram such as what I show below with all your samples for 16 QAM and it should be clear from that if this ...


0

What format is your input data in? It sounds like you have a phase history signal as it's often called. Assuming that the transmitted waveform was a linear FM chirp, has it already been deramped? Some receivers perform deramp-on-receive processing, which removes the chirped nature of the waveform. In that case, range compression is as simple as performing a ...


0

The autocorrelation will reveal the period. It will be max at delay = 0 but then will peak again at the offsets where the waveform repeats.


2

Since you are seeing your filter coefficients and much larger than your signal, this is indicative that you have a very large "impulse" at the start of your signal. The coefficients of your filter is the impulse response for the filter, so that is exactly what you are seeing: the response to an impulse. Review the start of your time domain data for a very ...


1

Yes you are right. Thresholding alone cannot perform data compression. By the way, I assume you meant thresholding of transform (DCT) coefficients. Quantization helps you reduce the number of states the variables can take; hence reduce the number of bits necessary to encode the codebook (totality of codewords). Thresholding, is applied after (or ...


0

I do not see any issues with your approach for the frequency domain computation, given that the following is a circular convolution in the time domain of the two signals a and b: $$corr(a,b) = ifft(fft(a)fft(b)^*)$$ But to receive each bit you need to evaluate the maximum in each interval to determine if it is positive or negative. Further in actual ...


1

You effectively want a interpolated waveform that is interpolated by 200,000 such that for each new sample with the 5 ppm offset you can select one additional offset to induce that time offset, for example x[1], x[200,002], x[400,003], x[600,004].... (Or equally one less if your sampling clock increased in frequency 5ppm). One very simple approach to do ...


Top 50 recent answers are included