Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
Drexel University or The Math Forum.
|
|
|
|
help with special deconvolution
Posted:
Jan 6, 2013 1:39 AM
|
|
Below is a code for special convolution of (32 bits) x, (50 bits) h giving (82 + 6 padded zeros )Y. I cannot find a way to de-conv Y and x to get back h exactly. The code below gives a slightly different value than Matlab conv(x,h) so Matlab deconv does not return h. Tried ifft(fft(Y)*1./fft(x)) and other common methods with no luck. Any suggestions? ------------ clc clear all % filter: x=dec2bin(4073739089.0); % signal: h=dec2bin( 60036946411689664.0); %convolution: m=length(x); n=length(h); X=[x,zeros(1,m)]; H=[h,zeros(1,(n+m))]; T=zeros(1,m); Y=zeros(1,(n+m)); % shift H into 32-bit T, a bit at a time. for i=1:m+n T=[T(2:end) 0]; if str2num(H(i))>0 T(m)=1; else T(m)=0; end for j=1:m Y(i)=Y(i)+sum(str2num(X(j))& T(j)); end Y(i)=mod(Y(i),2); end dec2hex(bi2de(fliplr(Y))) % Answer Y='DBFB31F057E34000000000';
|
|
|
|