⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 算法程序.txt

📁 this is matlab code for image and signal processing
💻 TXT
字号:
s=input('n-');%输数字个数
l=input('n0-');
out=zeros(1600*s+l,1);
tab=[941 1336;697 1209;697 1336;697 1447;770 1209;770 1336;
  770 1477;852 1209;852 1336;852  1477]; %建立表矩阵
for i=1:s
  k=input('0-9-');%输具体的数字
  f1=tab(k+1,1)/8000;%对信号抽样
  f2=tab(k+1,2)/8000;
  for j=1:800
      z=sin(f1*j*2*pi)+sin(f2*j*2*pi);%两信号叠加
      out(1600*(i-1)+j+l,1)=z;
      out(1600*(i-1)+j+800+l,1)=0;
  end
end
out=out./2;
subplot(211);plot(out);
n=256;
r=zeros(8*s,n/4);
a=out;
subplot(212);plot(a);      [批注:我分析此行程序是原文的错误,删掉不影响程序运行]
for i=1:8*s
  x=a((i-1)*200+1:i*200);
  y=fft(x,n);%作FFT分析
  p=abs(y);%记算幅频谱
  r(i, =p(1:n/4)';
end
for i=1:8*s  %根据FFT分析结果,对信号进行解码
  c=r(i, ;
  z=find(c<40);
  c(z)=zeros(size(z));
  b=nnz(c);
  if(b==2)
      q=find(c);
      if(q(1)==23)
          if(q(2)==40)
              res(i)=1;
          elseif(q(2)==44)
              res(i)=2;
          elseif(q(2)==47)
              res(i)=3;
          end
      elseif(q(1)==26)
          if(q(2)==40)
              res(i)=4;
          elseif(q(2)==44)
              res(i)=5;
          elseif(q(2)==48)
              res(i)=6;
          end
      elseif(q(1)==28)
          if(q(2)==40)
              res(i)=7;
          elseif(q(2)==44)
              res(i)=8;
          elseif(q(2)==48)
              res(i)=9;
          end
      elseif(q(1)==31)
          if(q(2)==44)
              res(i)=0;
          end
      end
  else
      res(i)=NaN;
  end
end
res=res



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -