30.10.2014 Views

o_195h4n6al16jb186b1b2qs7fgssa.pdf

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

if (numDels != numKapps)<br />

fprintf ("ERROR! %d should equal to %d.\n", numDels, numKapps);<br />

return;<br />

endif<br />

## Initialize.<br />

M = filtOrder; out = zeros(numSamps,1); del = delay;<br />

forward = zeros(numSamps*M,1); backward = forward; i = 0;<br />

## Filter samples.<br />

for n = 1:numSamps<br />

## Get new sample.<br />

current = in(n);<br />

IIRLattice OCTAVE model<br />

DSP Library<br />

2004 Microchip Technology Inc. DS51456B-page 57<br />

## Lattice structure.<br />

for m = 1:M<br />

after = current - kappas(M+1-m) * del(m+1);<br />

del(m) = del(m+1) + kappas(M+1-m) * after;<br />

i = i+1;<br />

forward(i) = current;<br />

backward(i) = after;<br />

current = after;<br />

end<br />

del(M+1) = after;<br />

## Ladder structure (computes output).<br />

if (gammas == 0)<br />

out(n) = del(M+1);<br />

else<br />

for m = 1:M+1<br />

out(n) = out(n) + gammas(M+2-m)*del(m);<br />

endfor<br />

endif<br />

endfor<br />

## Return.<br />

return;<br />

#..............................................................................<br />

endfunction<br />

dsPIC<br />

®<br />

được cung cấp.<br />

Các biến đổi sử dụng chuyển đổi các yếu tố (hoặc hằng số) mà phải được cung<br />

cấp cho<br />

chức năng biến đổi trong các yếu tố invocation.These của nó, đó là dữ liệu phức<br />

tạp<br />

bộ, được tính trong số học dấu chấm, và sau đó chuyển đổi thành fractionals ch<br />

sử dụng bởi các hoạt động. Để tránh chi phí tính toán quá nhiều khi áp dụng<br />

chuyển đổi, một tập hợp các yếu tố chuyển đổi có thể được tạo ra một lần và sử<br />

dụng<br />

nhiều lần trong quá trình thực hiện chương trình. Vì vậy, nó được khuyến khích<br />

để lưu trữ các<br />

yếu tố trở bởi bất kỳ hoạt động khởi tạo trong một vĩnh viễn (tĩnh) phức tạp<br />

vector. Nó cũng là thuận lợi để tạo ra các yếu tố "off-line", và đặt chúng trong<br />

bộ nhớ chương trình, và sử dụng chúng khi chương trình được thực hiện sau<br />

đó. Bằng cách này, không chỉ<br />

chu kỳ, nhưng cũng có bộ nhớ RAM sẽ được lưu khi thiết kế một ứng dụng liên<br />

quan đến việc<br />

biến đổi.<br />

2.7.2 Vectors Complex Fractional<br />

Một vector dữ liệu phức tạp được thể hiện bằng một tập hợp dữ liệu trong đó<br />

mỗi cặp giá trị<br />

đại diện cho một phần tử của vector. Giá trị đầu tiên trong cặp là một phần thực<br />

sự của<br />

yếu tố, và thứ hai phần ảo của nó. Cả hai phần thực và phần ảo là<br />

được lưu trữ trong bộ nhớ bằng cách sử dụng một từ (hai byte) cho mỗi, và phả<br />

được hiểu là<br />

1,15 fractionals. Như với các vector phân đoạn, phân đoạn phức tạp vector lưu<br />

trữ của nó<br />

các yếu tố liên tiếp trong bộ nhớ.<br />

Việc tổ chức dữ liệu trong một phân đoạn vector phức tạp có thể được giải<br />

quyết bằng các<br />

cấu trúc dữ liệu sau đây:<br />

#ifdef phân đoạn<br />

ifndef fractcomplex<br />

struct {<br />

phân đoạn sản;<br />

IMAG phân đoạn;<br />

} Fractcomplex;<br />

# endif<br />

# endif<br />

DSP Thư viện<br />

2004 Microchip Technology Inc DS51456B trang 59<br />

2.7.3 Xem xét tài khoản<br />

a) Không kiểm tra ranh giới được thực hiện bởi các chức năng này. Trong phạm<br />

vi kích thước<br />

(Bao gồm cả không vector chiều dài) cũng như sử dụng không phù hợp của

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!