Resampling a binary data
Show older comments
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 Comments
Star Strider
on 27 Aug 2022
I have not looked at the file and I am not certain that this approach would apply to this problem sinc e I do not understand it, however when I do resampling in a signal processing context I prefer the Signal Processing Toolbox resample function.
Bugrahan Ustundag
on 27 Aug 2022
Edited: Bugrahan Ustundag
on 27 Aug 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
Accepted Answer
More Answers (1)
Image Analyst
on 27 Aug 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 Comments
Bugrahan Ustundag
on 27 Aug 2022
Image Analyst
on 4 Sep 2022
OK, no problem. Looks like Star solved it for you (since you accepted his answer).
Categories
Find more on Communications Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!