Convolution not working with 'uint16'
Afficher commentaires plus anciens
I'm importing some .dat data into MATLAB to perform a discrete time convolution on a 'uint16' number.
I'm using the fread and conv functions to calculate a convolution. I find that when adding the 'uint16' variable to fread the convolution gives really small values.
test1 = [0.25 , 0.25 , 0.25 , 0.25];
% Answer gives very small convolution
x = fopen('in.dat');
A = fread(x, 'uint16');
conv(A,test1)
% Gives correct answer
z = fopen('in.dat');
C = fread(z);
v = nonzeros(C);
conv(v,test1)
Why does adding 'uint16' to the input produce the incorrect result? When looking at the difference between A and v, I cannot see any difference?
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Logical dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!