Hiện nay phòng thí nghiệm trường tôi đang có một kit Virtex4. Tôi có nhiệm vụ phải viết code cho một chương trình tạo 2 chuối walsh 32 nhân với 2 tín hiệu số vào để tạo ra được tín hiệu cosin tăng. Ai biết chi dùm với. Tôi cũng mới nghiên cứu FPGA mà lại phải viết khóa luận tốt nghiệp. Nguy quá!
Thông báo
Collapse
No announcement yet.
Tạo dãy walsh với VHDL thế nào?
Collapse
X
-
Bạn sẽ tạo ra Walsh series như thế nào? 32 coefficients hay là 32-bit?
Equation để tạo ra cosine như thế nào? cos = w1 * x1 * y1 + w2 * x2 * y2 ....? vv ...
Trước khi nói đến VHDL, bạn nên model trước trong matlab hoặc pylab (Python). Có lẽ bạn đã làm rồi, thì nếu có thể bạn nên đưa lên để dễ dàng hình dung hơn và bàn đến bước kế tiếp.
-
Ơn trời! Cảm ơn nemesis21 rất nhiều! Vậy là tôi có có cơ hội được học hỏi rồi.
Thực ra tôi mới nhận đề tài và dường như chưa có kiến thức gì về nó cả. Nếu được thì pro có thể cho tôi tài liệu liên quan được không? Tôi cũng còn chưa biết cả về 32 bit và 32 coefficients là như thế nào. (quandv49@gmail.com)Vital
Comment
-
Bạn nên nói rõ hơn về đề tài của bạn
Bạn có hai tín hiệu số ở đầu vào, có lẽ là hai tín hiệu in-phase / quadrature? Hai tín hiệu đó cần được nhân với chuỗi Walsh 32 (= chuỗi 32 số 0 xen kẽ với chuỗi 32 số 1???)? Sau đó đưa qua một bộ lọc cosin tăng (raised cosine filter), đại khái là một bộ lọc FIR?
Luận tốt nghiệp của bạn là về toán hay là về FPGA? Bạn nên tìm hiểu lại kỹ về yêu cầu của phần toán trước. Về phần toán, tôi chỉ có thể đoán mò về đề tài của bạn thôi, chưa chắc là đúng với ý của người đã đưa ra đề tài. Về phần FPGA cũng vậy. Module của bạn sẽ được tùy nghi sử dụng toàn con chip hay chỉ là một phần, phải kết hợp với nhiều module khác? Tín hiệu đầu vào từ đâu? Tín hiệu đầu ra như thế nào? Phải làm thế nào để chứng minh rằng module của bạn hoại động hiệu quả? vv ...
Comment
-
Nói thật là thầy hướng dẫn của em cũng chưa từng làm FPGA. Ngành của em cũng không được học gì về FPGA nên chính thầy cũng không hiểu gì lắm. Đại khái là thầy em đang có 1 bộ kit virtex4 có 2 ADC và 2 DAC. Thầy muốn dùng kit này để nghiên cứu và phát triển đề tài của thầy về MIMO. Chính vì rất mới nên thầy chỉ giao cho mỗi sv một phần việc nhỏ để làm khóa luận. Phần của em là tạo ra các chuỗi walsh 32 để nhân với 2 cặp tín hiệu I-Q (MIMO mà). sau đó đưa vào một bộ lọc cosin tăng. Với đề tài này thầy chỉ yêu cầu khi đưa vào 2 luồng tín hiệu đã được điều chế vuông pha là tín hiệu dạng xung vuông và tín hiệu ra phải là tín hiệu dạng coisin tăng.
Rất cảm ơn nemesis21 đã nhiệt tình giúp đỡ!Vital
Comment
-
Vậy có lẽ bạn không muốn tạo dãy Walsh trên FPGA, mà dãy Walsh bạn đã tính sẵn, chỉ lưu trên FPGA và sử dụng để nhân với hai cặp tín hiệu IQ?
Tài liệu về VHDL tiếng Việt thì tôi không có, tiếng Anh thì bạn chịu khó tìm trên Google một chút, có rất nhiều các tutorial. Nếu bạn đã có kit, thì có lẽ cũng đã có software đầy đủ (nếu không thì đi download ISE Webpack và Modelsim), và có lẽ cũng đã có một số code mẫu. Nếu có sẵn code mẫu, song song với việc đọc các tài liệu để hiểu thêm về cấu trúc, bạn nên mô phỏng (simulate) trong Modelsim xem nó hoạt động như thế nào, sau đó mới từ từ sửa đổi thêm thắt trong code mẫu đó xem hiệu ứng như thế nào, rồi sau nữa từng bước từng bước tiến tới. Đó là quá trình làm quen cấp tốc với VHDL.
Về phần thuật toán, trước tiên bạn nên mô phỏng kỹ càng trong Matlab, rồi sau đó hoán chuyển từng bước đến VHDL.
Lấy thí dụ một phép tính vector/matrix vô cùng đơn giản trong Matlab: X = [a; b; c]; Y = [d, e, f]; Z = X * Y;
Nhưng trong FPGA, mỗi clock cycle bạn chỉ có thể làm những phép tính đơn giản như + - * /. FPGA không biết làm các phép tính cao cấp với vector và matrix.
Bạn nên viết lại Matlab script dùng những phép tính FPGA có thể thực hiện, thí dụ như:
Z(1,1) = X(1) * Y(1);
Z(1,2) = X(1) * Y(2);
...
Z(3,3) = X(3) * Y(3);
Khi hoán chuyển sang VHDL, theo phương pháp đó thì bạn có thể tính cả matrix chỉ trong vòng 1 clock cycle, nhưng bạn cần phải dùng đến 9 multiplier, tiêu tốn nhiều tài nguyên hơn.
Hoặc bạn có thể viết lại dùng for loop:
for i = 1 : 3
__for j = 1 : 3
____Z(i,j) = X(i)*Z(i)
__end
end
Khi hoán chuyển sang VHDL, theo phương pháp đó bạn cần 9 clock cycle để tính cả matrix, nhưng đổi lại tốn ít tài nguyên hơn.
Đại khái là như vậy. Mô phỏng thuật toán cao cấp trên Matlab trước, sau đó chuyển xuống cấp thấp hơn, phù hợp với khả năng của FPGA, mô phỏng kỹ càng để không có sai số giữa hai Matlab model, sau đó mới tính đến chuyển sang VHDL và mô phỏng trên Modelsim, trước khi chuyển sang hardware.
Comment
-
Vâng. Rất cảm ơn anh! Về VHDL thì em cũng biết sơ sơ. Nhưng e chưa biết làm thế nào với cái đề tài của mình. E sẽ tìm hiểu thêm. Nói thật em rất mông nung chưa tìm được hướng đi chính xác nào cả. E có search google nhiều rồi nhưng chưa tìm ra code mẫu. Nếu a có tài liệu gì về walsh và về code VHDL liên quan thì cho em xem làm mẫu với. Cảm ơn pro nhiều!Vital
Comment
Bài viết mới nhất
Collapse
-
bởi Andrea14Chào mọi người,
Tôi muốn mô phỏng sự thay đổi các mùa bằng cách từ từ nghiêng một quả địa cầu 16 inch bằng một động cơ bước nhỏ. Một động cơ bước khác sẽ quay quả địa cầu theo thời gian thực. Hệ thống truyền động...-
Channel: Điện tử truyền hình
Hôm qua, 12:42 -
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi bqvietBqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
-
Channel: Thiết bị điện tử cá nhân
06-12-2025, 17:17 -
-
Trả lời cho Xin hỏi về mạch thu FM/AM trong catsettebởi nguyendinhvanTheo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
-
Channel: Điện thanh
05-12-2025, 19:59 -
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi afrendlyCó vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
-
Channel: Thiết bị điện tử cá nhân
04-12-2025, 01:27 -

Comment