Resampling a binary data
8 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Bugrahan Ustundag
el 27 de Ag. de 2022
Comentada: Image Analyst
el 4 de Sept. de 2022
TEXBAT is a recorded dataset about spoofing scenarios for evaluating GPS signal authentication techniques.
On this project, there are recorded GPS signals stored as complex 16- bit samples at a rate of 25 Msps.
How can I change its sample rate from 25Msps to sample rates below than 3.2Msps?
3 comentarios
Bugrahan Ustundag
el 27 de Ag. de 2022
Editada: Bugrahan Ustundag
el 27 de Ag. de 2022
Walter Roberson
el 27 de Ag. de 2022
I don't think I quite understand some of these outputs
data = repelem([1+2i, -3-4i], 1, 4).'
resample(data, 1, 2)
ifft(fft(data), 4)
interp1(1:length(data), data, 1:2:length(data)).'
data = repelem([1+2i], 1, 8).'
resample(data, 1, 2)
ifft(fft(data), 4)
interp1(1:length(data), data, 1:2:length(data)).'
I guess the fft result suggests that the power is being redistributed over the output, so the ifft output should probably be divided by the decimination factor
Respuesta aceptada
Star Strider
el 27 de Ag. de 2022
The input vector has to be a real double array. So resample the real and imaginary parts separately.
Doing the experiment —
Fs = 1000;
t = linspace(0, 9999, 10000).'/Fs; % Assume Column Vectors
sz = exp(2*pi*1i*t*100);
% Resz = real(sz);
% Imsz = imag(sz);
[zrr,tr] = resample(real(sz),t,500);
[zir,tr] = resample(imag(sz),t,500);
szr = zrr + 1i*zir;
figure
plot(t, real(sz), '.-', t, imag(sz),'.-', 'DisplayName','Original (Fs = 1000)')
hold on
plot(tr, real(szr), 's-', tr, imag(szr), 's-', 'DisplayName','Resampled (Fs = 500)')
hold off
grid
legend('Location','best')
xlim([0 1]*5E-2)
It appears to work as expected.
.
2 comentarios
Star Strider
el 4 de Sept. de 2022
I am not certain what you are referring to.
If you are sampling an analog signal, it is appropriate to do analog filtering of the signal prior to digitising it using a Bessel lowpass filter with the cutoff frequency slightly less than the sampling frequency of the A/D converter. Bessel filters are characteristically IIR filters, and are preferred here because they do not exhibit any phase distortion in the passband.
I generally prefer IIR filters unless I need them to have several different passbands or stopbands in the filter. In that situation, FIR filters are generally easier to design and implement, and I usually use them only as discrete filters with a signal that has already been digitised
Más respuestas (1)
Image Analyst
el 27 de Ag. de 2022
If you can read it into a time, t, array and gps (y) array, you might try interp1
gpsNew = interp1(t, gpsOld, tNew);
The old signal will have about 8 times as many samples as your new signal. Of course if you want to average the values in a certain window so you'll take the average of all the extra values instead of just picking a sample, you'll have to do some other things, like preprocessing the signal with movmean to get a signal averaged over the window.
2 comentarios
Image Analyst
el 4 de Sept. de 2022
OK, no problem. Looks like Star solved it for you (since you accepted his answer).
Ver también
Categorías
Más información sobre Analog Filters en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!