Date: Jan 6, 2013 1:39 AM
Author: Jonathon Cheah
Subject: help with special deconvolution

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';