View Single Post
Old 08-11-2008, 10:40 PM   #4
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
1. Bạn đã khai báo mảng FIRpre_emphasis[] ở trong RAM, xem mục 4 phía dưới.

2. Tôi định dùng cụm từ 'chỉnh biên' khi viết tutorial, nhưng nghĩ đi nghĩ lại đã dùng cụm từ 'canh lề' cho nó bình dân hơn. Bạn hãy tưởng tượng RAM được chia thành từng khối với kích thước là một lũy thừa của 2. Việc truy cập bộ nhớ sẽ hiệu quả hơn nếu chúng ta cấp phát các vùng nhớ nằm đúng ở đầu các khối nhớ đó. Thuộc tính aligned giúp chúng ta làm việc đó.

3. Việc đặt các mảng inputsignal[] và outputsignal[] của bạn vào vùng nhớ nào, khi bạn không mô tả tường minh thông tin này, còn tùy thuộc vào kiểu bộ nhớ mà bạn chọn khi biên dịch chương trình. Bạn xem thêm mục 4.6 trong tài liệu 'MPLAB C Compiler for PIC24 MCUs and dsPIC DSCs User's Guide' (DS51284H).

4. Từ khóa đó là const.

5. Việc cấp phát vùng nhớ X hay Y cho dữ liệu được dùng với thư viện DSP do người dùng thực hiện. Bạn đọc thêm mục 'Data Memory Usage' trong tập tin 'DSP Library.htm', nằm trong thư mục con 'docs\dsp_lib' của thư mục cài đặt MPLAB C Compiler for PIC24 MCUs and dsPIC DSCs.

6. Cũng trong thư mục đã đề cập ở mục 5, bạn có thể tìm thấy tập tin 'DSP_Filter_Functions_Help.htm', mô tả các hàm DSP liên quan đến lọc tín hiệu. Bạn có thể thấy rằng giá trị trả về của hàm FIR là một con trỏ đến mảng dữ liệu đích.

Hơn nữa, hàm FIRDelayInit() cần đối số là một con trỏ đến một cấu trúc có kiểu FIRStruct. Code của bạn đã truyền một con trỏ đến một mảng có 2 phần tử, do đó có thể có những hành vi không lường trước được.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn