Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fi = zeros (32,1);
- nrFil=2;
- SoS( nrFil, : )
- for i=0:31
- BIN=dec2binvec(i,5);
- fi(i+1,1)=BIN * [SoS(nrFil,1) SoS(nrFil,2) SoS(nrFil,3) -SoS(nrFil,5) -SoS(nrFil,6)]';
- end
- b=12;
- coef=max(abs(fi));
- bAloc=floor(log2(round(coef)))+2;
- fi_t=round(fi.*(2.^(b-bAloc)))./(2.^(b-bAloc));
- fi_t
- xi=zeros(1,N);
- aux=0;
- for i=1:b-1
- aux=aux+2^(-i);
- end
- xi(N/2)=aux;
- Val=zeros(5,b);
- y=zeros(1,N);
- %% fi(i,n)=b1*xi(n)+b2*xi(n-1)+b3*xi(n-2)-a2yi(n-1)-a3yi(n-2);
- %% fi(0,n)=b1*x0(n)+b2*x0(n-1)+b3*x0(n-2)-a2y0(n-1)-a3y0(n-2);
- %% y(n)=-fi(0)+sum [fi(i)*2^(-i)]
- aaa = filter(SoS(nrFil,1:3),SoS(nrFil,4:6),xi);
- figure(18);
- plot(aaa);
- grid on
- %SOS = [ b01 b11 b21 1 a11 a21
- for n=N/2:length(xi)
- sum=0;
- if xi(n)>=0
- signs(1)=0;
- else
- signs(1)=1;
- end
- if xi(n-1)>=0
- signs(2)=0;
- else
- signs(2)=1;
- end
- if xi(n-2)>=0
- signs(3)=0;
- else
- signs(3)=1;
- end
- if y(n-1)>=0
- signs(4)=0;
- else
- signs(4)=1;
- end
- if y(n-2)>=0
- signs(5)=0;
- else
- signs(5)=1;
- end
- Val(1,:)=dec2binvec(((xi(n)+signs(1))*(2^(b-1))),b);
- Val(2,:)=dec2binvec(((xi(n-1)+signs(2))*(2^(b-1))),b);
- Val(3,:)=dec2binvec(((xi(n-2)+signs(3))*(2^(b-1))),b);
- Val(4,:)=dec2binvec(((y(n-1)+signs(4))*(2^(b-1))),b);
- Val(5,:)=dec2binvec(((y(n-2)+signs(5))*(2^(b-1))),b);
- for i=1:b-1
- aux = fi_t(bi2de(Val(:,i)')+1);
- sum = sum/2 + aux;
- end
- aux = fi_t(bi2de(signs)+1);
- y(n)= (-aux) + sum/2;
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement