Simulink中两个复矢量的矩阵相乘

| 确实有两个问题,但我想使其更具描述性: 我正在实现一个调制器,其中涉及复杂矢量的矩阵乘法: 仅举一个例子:
cck_encoding_table(1,:)= [  1j  1  1j -1  1j  1 -1j  1 ];
cck_encoding_table(2,:)= [ -1j -1 -1j  1  1j  1 -1j  1 ];
cck_encoding_table(3,:)= [ -1j  1 -1j -1 -1j  1  1j  1 ];
cck_encoding_table(4,:)= [  1j -1  1j  1 -1j  1  1j  1 ];
基本上,我最终需要在Simulink(Xilinx)的硬件中实现这一点:
cck_n_code=exp(1j*Phi1)*cck_encoding_table(index+1,:);
我的问题是如何用复数向量对矩阵乘法建模。我的理解是使用复数乘法器。但这就是只乘以2个复数向量 如果我必须在一个时钟中将两个以上的复数向量相乘,则有可能。 我不希望模型本身有任何答案,但是可以使用任何可能的方法/方向来解决问题 谢谢阅读, 基兰     
已邀请:
只需写出由矩阵乘法得到的低等式。输出的每个元素都是对输入向量和矩阵中元素的乘法集合求和的结果。 如果您需要快速执行此操作,则可以根据需要放下尽可能多的复杂乘法器和加法器,并将输入元素连接到它们上-这将一次为您提供所有输出,并要求您同时拥有所有输入一旦。 或者,将您的输入放入一个存储块(或大概2个,一个用于向量,一个用于矩阵),并安排一些逻辑,这些逻辑会将正确的地址输入该存储块,以适当的顺序遍历元素。这些输入将进入一个复数乘法器,然后进入一个复数累加器(您可能必须从加法器和可重置寄存器进行建模)。您的控制逻辑将需要定期重置此累加器。 累加器的输出可以馈入下一级,或存储在另一个存储块中(另一个地址供您控制逻辑进行管理)。 如果您的编码表中总是有仅来自集合(1,-1,j,-j)的元素,那么您可以将它们编码为2位,而不是存储完整表示的复数并编写自定义逻辑利用这一事实,可以创建比通用乘数简单得多的复数乘法器。     

要回复问题请先登录注册