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 mèomướpDạ chú rủ cô ấy đi ăn uống, cà phê, xem phim...nhớ nắm tay, rồi thì ôm hôn,...trong vòng 1 tuần mà ko nắm tay được, 1 tháng mà ko ôm đc thì dẹp ngay và luôn ạ. Nhắn tin, gọi điện ít thôi ạ, trả lời quá lâu hoặc ko trả lời cũng dẹp ngay ạ. Nên thể hiện chú là người có điều kiện nữa ạ...
-
Channel: Tâm tình dân kỹ thuật
08-02-2026, 18:50 -
-
bởi songchodep76Cảm ơn bác đã nhiệt thành chia sẻ kinh nghiệm bản thân mình cho mọi người.
Tuy nhiên, theo tiếp xúc hạn hẹp của em với mosfet thì vấn đề bác đo vôn ở cực D và thấy đỉnh nó 70V/55V Vds max, như thí nghiệm và trong hình của bác...-
Channel: Hướng dẫn sử dụng diễn đàn
07-02-2026, 09:46 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Cho tới thời điểm này, quả thật Đình Thường đây quá thất vọng, không hào hứng với Suno-AI lắm bởi ra lệnh Creat mấy chục lần với các thay đổi thì mới chọn được 2 bản hát đúng giai điệu tầm 80% để cắt ghép tạo thành bài hát...
-
Channel: Tâm tình dân kỹ thuật
06-02-2026, 17:01 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Kính chào cả nhà, nhân dịp Tết đang về, sắp 23 tháng chạp rồi, xin gởi lời chúc xuân qua bài hát sau ạ:
Bao nhiêu hân hoan
Chúc Mừng Năm Mới, xuân sang!
Nơi nơi hát vang
nâng chén vui chúc câu An Lành.
Vạn Sự đều Hanh Thông,
Rạng...-
Channel: Tâm tình dân kỹ thuật
06-02-2026, 16:46 -
-
bởi ittcChán quá các bác, em nhạt nhẽo quá nên tán em nào cũng tạch, tuyệt vọng vô cùng, nay lại được mấy anh đồng nghiệp cty đối tác mách cho em gái kia sinh năm 2K đầu, em chả biết nhóm đối tượng này phải tán ra sao bây giờ ?
Tính ra em...-
Channel: Tâm tình dân kỹ thuật
06-02-2026, 00:18 -
-
bởi bqvietCó thể, ví dụ phần phản hồi gồm vi mạch cách ly quang, zener thứ cấp, transistor và điện trở phản hồi dòng ... Bất kỳ linh kiện nào nhóm đó hỏng dẫn tới mất đường phản hồi. TNY chính hãng phát hiện được chuyện đó nhưng linh kiện...
-
Channel: Điện tử công suất
05-02-2026, 18:36 -
-
bởi Nexus 6Pcho e hỏi, khi mạch có linh kiện nào đó hư thì có làm hỏng led đắt tiền (osram) không?
-
Channel: Điện tử công suất
05-02-2026, 10:42 -
-
bởi chinhnguyen9· Thí nghiệm 1 (Mạch boost, Vcc=12V, kích bằng dao động PƯM, duty 10%):
* Không có snubber + không tải: Xuất hiện hiện tượng dao động tắt dần tại cực D Mosfet (ringing). Hình 1 cho thấy trong chu kỳ đầu, điện áp spike lên tới hàng trăm V, điện...-
Channel: Hướng dẫn sử dụng diễn đàn
04-02-2026, 09:16 -
-
bởi Nexus 6Pe dùng KiCad 9.0 và đã xuất được file PDF mạch in gòi bác...
-
Channel: Điện tử công suất
03-02-2026, 16:25 -
-
bởi bqvietBấm chuột vào các tệp sẽ bật ra chương trình tương ứng. Nên dùng bản KiCAD sau
https://kicad-downloads.s3.cern.ch/a...ll_version.exe-
Channel: Điện tử công suất
03-02-2026, 14:57 -

Comment