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 suabomchankoDịch vụ sửa chữa bơm hút chân không uy tín với hơn 15 năm kinh nghiệm, hỗ trợ chuẩn đoán lỗi, xử lý nhanh, đảm bảo thiết bị vận hành ổn định cho nhà máy.
XƯỞNG SỬA CHỮA BƠM HÚT CHÂN KHÔNG - CÔNG TY HCTECH
Địa chỉ văn phòng: số 5B, ngách 15/2 An Dương Vương, Phú Thượng,...-
Channel: Điện tử công nghiệp
hôm nay, 13:57 -
-
bởi afrendlyCảm ơn bạn. Mình hỏi để thợ có thể tham khảo thôi chứ không đủ kiển thức để sửa, mà cũng không có đồ nghề, mua đồ nghề quá tiền máy. Gọi nhiều lần mà thợ hẹn mãi chưa có tới ấy bạn. Mình muốn sửa được chứ bỏ thì uống, nhưng sợ là được mỗi người thợ mà lại không sửa nổi....
-
Channel: Điện tử gia dụng
hôm nay, 00:34 -
-
bởi mèomướpDạ nó bị tắc ẩm hoặc rò thiếu gas hoặc lốc yếu hoặc van tiết lưu có vấn đề hoặc tất cả những nguyên nhân trên ạ. Chú ko chuyên về mảng này thì bán đi, giành thời gian trồng rau sạch đem ra chợ bán lấy tiền mua tủ mới ạ. Còn...
-
Channel: Điện tử gia dụng
Hôm qua, 17:01 -
-
bởi afrendlyXin chào mọi người. Mình lại có vấn đề về đồ điện cần nhờ mọi người hỗ trợ giúp. Mình có tủ lạnh Sharp dùng cũng lâu rồi. Trước có bị kém lạnh, không đông đá thì có thợ họ mang về, sục đường ga gì đó hết 900k và đã dùng...
-
Channel: Điện tử gia dụng
Hôm qua, 16:53 -
-
bởi dinhthuong92Đấy, cái tôi thắc mắc là chỗ màu hồng ấy bạn, để áp vào cao chứ không bị sụt gần bằng áp pin thì rất cần cuộc cảm để làm điều đó. Tuy nhiên, trong công thức bác thớt dẫn không thấy mặt L, và một vài mạch MPPT tôi đã kiểm...
-
Channel: Nguồn!
09-05-2026, 10:01 -
-
bởi mèomướpDạ mạch sạc là 1 cục nguồn, nó sẽ điều chỉnh công suất đầu ra để có tổng trở bằng nội trở của pin ạ. Và cái cách nó chỉnh công suất đầu ra sẽ là dạng buck, boot. Đều cần đến cuộn cảm ạ. Tất nhiên chú thích thì có thể dùng dạng tuyến tính transistor để bù trừ nhưng mà nó đốt năng lượng vô ích ạ...
-
Channel: Nguồn!
08-05-2026, 16:26 -
-
bởi dinhthuong92Tng trở R của tải (gồm pin và mạch sạc) trong công thức đó rõ ràng khống có L xuất hiện. Nếu tính các dây dẫn thì rất nhỏ, bỏ qua. Vì nội trở pin là rất nhỏ, có thể nói luôn lớn hơn nội trở solar, nên mạch MPPT sẽ hầu như luôn tính...
-
Channel: Nguồn!
08-05-2026, 11:00 -
-
bởi dinhthuong92Chào bác. Đã là công thức phải tổng quát chứ, nó phải thể hiện cả quá trình, rối thì quá độ hay xác lập tính sau vì tùy điều kiện. Cũng như công thức tính diện tích chả hạn, phải là tích phân....
-
Channel: Nguồn!
08-05-2026, 10:49 -

Comment