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.

);<br />

Arguments: numElems number of elements in window<br />

window pointer to window to be initialized<br />

betaVal window shaping parameter<br />

Return Value: Pointer to base address of initialized window.<br />

Remarks: The windowvector mustalready exist, with exactly numElemsnumber<br />

of elements.<br />

Source File: initkais.c<br />

Function Profile: System resources usage:<br />

W0..W7 used, not restored<br />

W8..W14 saved, used, not restored<br />

DOand REPEATinstruction usage:<br />

None<br />

Program words (24-bit instructions):<br />

See the file “readme.txt” in pic30_tools\src\dsp for this information.<br />

Cycles (including C-function call and return overheads):<br />

See the file “readme.txt” in pic30_tools\src\dsp for this information.<br />

VectorWindow<br />

Description: VectorWindowapplies a window to a given source vector, and<br />

stores<br />

the resulting windowed vector in a destination vector.<br />

Include: dsp.h<br />

Prototype: extern fractional* VectorWindow (<br />

int numElems,<br />

fractional* dstV,<br />

fractional* srcV,<br />

fractional* window<br />

);<br />

Arguments: numElems number of elements in source vector<br />

dstV pointer to destination vector<br />

srcV pointer to source vector<br />

window pointer to initialized window<br />

Return Value: Pointer to base address of destination vector.<br />

Remarks: The windowvector musthave already been initialized, with exactly<br />

numElemsnumber of elements.<br />

This function can be computed in place.<br />

This function can be self applicable.<br />

This function uses VectorMultiply.<br />

Source File: dowindow.asm<br />

Thư viện Công cụ Ngôn ngữ<br />

DS51456B trang 30<br />

2004 Microchip Technology Inc<br />

Chức năng thông tin: sử dụng nguồn tài nguyên của hệ thống:<br />

nguồn lực từ VectorMultiply<br />

DOand REPEATinstruction sử dụng:<br />

không DOinstructions<br />

không REPEATinstructions,<br />

cộng với DO / REPEATfrom VectorMultiply<br />

Từ chương trình (hướng dẫn 24-bit):<br />

3,<br />

cộng thêm từ chương trình từ VectorMultiply<br />

Chu kỳ (bao gồm cả cuộc gọi C-chức năng và trả các chi phí):<br />

9,<br />

cộng với chu kỳ từ VectorMultiply.<br />

Lưu ý: Trong các mô tả về số VectorMultiplythe của chu kỳ<br />

báo cáo bao gồm 3 chu kỳ của C-chức năng gọi điện trên không. Như vậy,<br />

số chu kỳ thực tế từ VectorMultiplyto thêm vào<br />

VectorWindowis 3 ít hơn bất cứ số được báo cáo cho một đứng<br />

một mình<br />

VectorMultiply.<br />

VectorWindow (Tiếp theo)<br />

DSP Thư viện<br />

2004 Microchip Technology Inc DS51456B trang 31<br />

2,5 chức năng MATRIX<br />

Phần này trình bày các khái niệm về một ma trận phân đoạn, như xem xét bởi<br />

DSP<br />

Thư viện, và mô tả các chức năng cá nhân đó thực hiện hoạt động ma trận.<br />

2.5.1 Fractional hoạt động Matrix<br />

Một ma trận phân đoạn là một tập hợp các giá trị số, các yếu tố ma trận, phân b<br />

liên tục kế nhau trong bộ nhớ, với người đầu tiên elementAt địa chỉ bộ nhớ thấp<br />

nhất. Một từ<br />

bộ nhớ (hai byte) được sử dụng để lưu trữ các giá trị của mỗi phần tử, và số<br />

lượng này<br />

phải được hiểu như là một phân số đại diện trong định dạng 1.15.<br />

Một con trỏ địa chỉ phần tử đầu tiên của ma trận được sử dụng như một xử lý<br />

cung cấp<br />

tiếp cận với mỗi giá trị ma trận. Địa chỉ của phần tử đầu tiên được gọi là<br />

địa chỉ cơ sở của ma trận. Bởi vì mỗi phần tử của ma trận là 16 bit, các cơ sở<br />

địa chỉ mustbe liên kết đến một địa chỉ mặc.<br />

Việc bố trí hai chiều của một matrixis mô phỏng trong lĩnh vực bộ nhớ lưu trữ<br />

bằng cách đặt các thành phần của nó được tổ chức hàng để lớn. Như vậy, giá trị<br />

đầu tiên trong bộ nhớ là

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

Saved successfully!

Ooh no, something went wrong!