Changing the frequency of an array does not work always

1 vue (au cours des 30 derniers jours)
farzad
farzad le 27 Nov 2020
Commenté : farzad le 28 Nov 2020
Hi All
I have a time array , from which I first drop some elements, then change its frequency based on the input I give. the array is X in the code. what happens is that for some specific values , like reduction = 2 and freq = 1000 Hz if the original frequency of X was 512 Hz, the length of redt2 falls one element shorter than the original X array. how does this happen and what is the solution.
X is any time signal, 1D array with any length and frequency
reduction =2
X =X (1:reduction:numel(X));
redt1=[X];
rf= redt1(2)-redt1(1);
tend=redt1(numel(redt1));
freq= input(frequency)
dt= 1/freq
redt2= 0:dt:tend/rf/freq;
  8 commentaires
farzad
farzad le 28 Nov 2020
So, could you please help me out?
farzad
farzad le 28 Nov 2020
Does it happen for you

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 28 Nov 2020
In
freq= input(frequency)
what is frequency? Some string you defined to ask the user for the frequency? Please show how you defined it.
reduction = 2
X_Original = 1 : 1000;
whos X
samplingFreqOriginal = (X_Original(end) - X_Original(1)) / numel(X_Original)
X_Reduced = X_Original(1:reduction:numel(X_Original));
whos X
samplingFreqReduced = (X_Reduced(end) - X_Reduced(1)) / numel(X_Reduced) % Will be 2 times samplingFreqOriginal
% Not sure what anything after here is intended to do.
redt1 = X_Reduced;
rf = redt1(2) - redt1(1)
tend = redt1(numel(redt1))
frequency = 'Enter the frequency : ';
freq = input(frequency)
dt = 1 / freq
redt2 = 0:dt:tend/rf/freq;
  9 commentaires
Image Analyst
Image Analyst le 28 Nov 2020
Then simply do
% Sample values:
startingValue = 1
deltaX = 3
numElements = 9
% Create array:
x = startingValue : deltaX : (startingValue + (numElements - 1) * deltaX)
fprintf('x is %d elements long.\n', length(x));
farzad
farzad le 28 Nov 2020
Thank you Very MUCH !

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Signal Processing Toolbox dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by