function f = lowpassFIR(sample)
%Calculates Finite Impulse Response low pass filter coefficient
%using the windowing methods as well
passEdge = 100;
StopbandAtt = 20;
passbandRip =.05;
transWidth = 10;
Fs = sample;
%Step One: select number of coefficients%
deltaF = transWidth/Fs;
%Normalize for each window
rectN = round(0.9/deltaF);
hannN = round(3.1/deltaF);
hammN = round(3.3/deltaF);
blackN = round(5.5/deltaF);
rectPos = rectN/2;
rectNeg = (rectPos*-1);
%For the Vector Array
%rect = rectNeg:rectPos;
deltaSum= passEdge + (transWidth/2);
deltaF2= deltaSum/Fs;
for i = [rectPos:rectNeg]
%iterate through each value and plug into function in for loop
%each output of the function will be stored into another array
f= 2*i;
end
end
Je l'ai modifié, et pense que cela fonctionnerait, mais j'obtenir l'erreur ...Matrice pour la boucle Matlab
Erreur dans lowpassFIR (ligne 6) passEdge = 100;
L'argument de sortie "f" (et peut-être d'autres) n'a pas été affecté pendant l'appel à "/Users/sergiogonzalez-palavicini/Documents/MATLAB/lowpassFIR.m>lowpassFIR".
Il est pas très clair .... – Oli
Check out [ce poste] (http://stackoverflow.com/questions/758736/how-do-i-iterate-through-each-element-in -an-n-dimensional-matrix-in-matlab), cela peut être utile –
Cela dépend de la fonction, si elle est vectorisée alors vous pouvez simplement faire 'Y = f (rect)'. Pouvez-vous poster la fonction réelle? – Dan