找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5371|回复: 8
打印 上一主题 下一主题
收起左侧

基于MATLAB的最优盲源分离源程序

[复制链接]
跳转到指定楼层
楼主
ID:252399 发表于 2017-11-23 13:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
的最优盲源分离MATLAB源程序如下:
  1. function [R,y]=cubica34a(x)
  2. verbose  =0;%信息显示控制变量
  3. [N,P]=size(x);
  4. Q=eye(N);
  5. %中心化和白化
  6. if nargin==1
  7.     fprintf('\n中心化和白化!\n\n');
  8. end
  9. x=x-mean(x,2)*ones(1,P);
  10. [V,D]=eig(x*x'/P);
  11. v=diag(real(diag(D).^(-0.5)))*V';
  12. y=v*x;
  13. if nargin==1
  14.     fprintf('变换\n');
  15. end
  16. %开始变换迭代
  17. for t=1:(1+round(sqrt(N)))
  18.     for i=1:N-1
  19.         for j=i+1:N
  20.             %计算累积量
  21.             u=y([i j],:);
  22.             sq=u.^2;
  23.             sq1=sq(1,:);
  24.             sq2=sq(2,:);
  25.             u1=u(1,:)';
  26.             u2=u(2,:)';
  27.             C111=sq1*u1/P;
  28.             C112=sq1*u2/P;
  29.             C122=sq2*u1/P;
  30.             C222=sq2*u2/P;
  31.             C1111=sq1*sq1'/P-3;
  32.             C1112=(sq1.*u1')*u2/P;
  33.             C1122=sq1*sq2'/P-1;
  34.             C1222=(sq2.*u2')*u1/P;
  35.             C2222=sq2*sq2'/P-3;
  36.             %系数
  37.             c_34=(1/6)*(1/8)*(3*(C111^2+C222^2)-9*(C112^2+C122^2)-6*(C111*C122+C112*C222));
  38.             c_44=(1/24)*(1/16)*(7*(C1111^2+C2222^2)-16*(C1112^2+C1222^2)-12*(C1111*C1122+C1122*C2222)-36*C1122^2-32*C1112*C1222-2*C1111*C2222);
  39.             s_34=(1/6)*(1/4)*(6*(C111*C112-C122*C222));
  40.             s_44=(1/24)*(1/32)*(56*(C1111*C1112-C1222*C2222)+48*(C1112*C1122-C1122*C1222)+8*(C1111*C1222-C1112*C2222));
  41.             %计算变换角
  42.              phi_max=(1/4)*atan2(s_34+s_44,c_34+c_44);
  43.              %Givens变换矩阵Qij
  44.              Qij=eye(N);
  45.              c=cos(phi_max);
  46.              s=sin(phi_max);
  47.              Qij(i,j)=s;
  48.              Qij(j,i)=-s;
  49.              Qij(i,i)=c;
  50.              Qij(j,j)=c;
  51.              Q=Qij*Q;
  52.              %变换估计信号y
  53.              y([i j],:)=[c s;-s c]*u;
  54.         end
  55. ……………………

  56. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
最优盲源分离.rar (856 Bytes, 下载次数: 41)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:279258 发表于 2018-1-24 13:50 | 只看该作者
没人吗,顶个贴
回复

使用道具 举报

板凳
ID:469065 发表于 2019-1-16 11:59 | 只看该作者
matlab盲源分离的混合信号为什么是多个的
回复

使用道具 举报

地板
ID:469065 发表于 2019-1-16 12:00 | 只看该作者
matlab进行盲源分离是为什么有多个混合信号啊,只利用matlab可以进行盲源分离吗
回复

使用道具 举报

5#
ID:525718 发表于 2019-5-1 20:18 | 只看该作者
不错,还有人搞这个
回复

使用道具 举报

6#
ID:550822 发表于 2019-5-30 11:29 | 只看该作者
请问这个是单通道分离还是多通道分离
回复

使用道具 举报

7#
ID:551208 发表于 2019-5-30 16:43 | 只看该作者
写的挺好的 支持
回复

使用道具 举报

8#
ID:609424 发表于 2019-11-4 17:06 | 只看该作者
R和Y表示什么啊?
回复

使用道具 举报

9#
ID:963730 发表于 2021-9-2 16:34 | 只看该作者
求助资源,感谢,实在不容易啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表