久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6214|回復(fù): 4
收起左側(cè)

farrow結(jié)構(gòu)濾波器matlab實(shí)現(xiàn)源碼與仿真

[復(fù)制鏈接]
ID:294744 發(fā)表于 2018-3-20 21:38 | 顯示全部樓層 |閱讀模式
這是編寫的farrow結(jié)構(gòu)的濾波器的matlab仿真
0.png

matlab源程序如下:
  1. clc;close all;clear

  2. N = 29; % filter order, odd better
  3. L = N+1;             % filter length;
  4. Npt = 256;           % no. of frequency points for plots
  5. w = (0:1:Npt-1)/Npt; % frequenc scan (0,1)

  6. delay = [0 0.1 0.2 0.3 0.4 0.5];   % delay range x=0..0.5
  7. Nfil = length(delay); % number of filters

  8. h = zeros(1,L);      % impulse response vector
  9. hvec=zeros(Nfil,L);  % impulse response coefficient matrix
  10. magresp = zeros(Nfil,Npt);
  11. phasdel = zeros(Nfil,Npt-1);
  12. xvec=zeros(Nfil,1);     % fractional delay vector

  13. P = 3; % polynomial order for FARROW structure (ca. 1-5)
  14. C=zeros(P+1,N+1);      % polynomial coeff. matrix

  15. wp = 0.85; % normalized bandwidth (0-1.0)

  16. for i=1:Nfil
  17.     d=delay(i);
  18.     if d==0
  19.         d=d+0.0000001;   % avoid sin(0)/0;
  20.     end
  21.     xvec(i)=d;
  22.     if (N/2-round(N/2))==0
  23.         D=d+N/2;
  24.     else
  25.         D=d+N/2-0.5;
  26.     end;
  27.     cT=zeros(N+1,1);
  28.     p1=cT;
  29.     cT(1)=wp;
  30.     if round(D)==D
  31.         p1(1)=wp;
  32.     else
  33.         p1(1)=sin(D*wp*pi)/(D*pi);
  34.     end;
  35.     for k=1:N   % compute the elements of the Toeplitz matrix (vector)
  36.         kD=k-D;
  37.         cT(k+1) =sin(k*wp*pi)/(k*pi);
  38.         p1(k+1) =sin(kD*wp*pi)/(kD*pi);
  39.     end;
  40.     Pz=toeplitz(cT);
  41.     h=Pz\p1;
  42.     hvec(i,:)=h';      % store designed coeff. vector
  43. end

  44. for k=1:N+1
  45.     cc=polyfit(xvec,hvec(:,k),P);  % fit P:th-order polynomial to each coeff set
  46.     C(:,k)=cc';
  47. end
  48. for j=1:Nfil
  49.     d=delay(j);
  50.     if d==0
  51.         d=d+0.0000001;   % add 0.001 to avoid sin(0)/0;
  52.     end
  53.     h = C(P+1,:);        % coeffs. via pol. approximation
  54.     for n=1:P
  55.         h=h+d^n*C(P+1-n,:);
  56.     end
  57.     h=h/sum(h);           % scale response at zero freq. to unity
  58.     H = freqz(h,1,w*pi);
  59.     magresp(j,:) = abs(H);
  60.     uwphase=-unwrap(angle(H));
  61.     phasdel(j,:) = uwphase(2:Npt)./(w(2:Npt).*pi); % avoid divide by zero
  62. end

  63. % figure(1);
  64. % for i=1:Nfil
  65. %   plot(1:L,hvec(i,:),'k'); hold on
  66. % end;
  67. % xlabel('Time In Samples'); ylabel('Impulse Response');
  68. %
  69. % figure(2);
  70. % for i = 1:Nfil
  71. %   plot(w,magresp(i,:),'k');hold on
  72. % end;
  73. % xlabel('Normalized Frequency'); ylabel('Magnitude');
  74. %
  75. % figure(3);
  76. % for i = 1:Nfil
  77. %   plot(w(2:Npt),phasdel(i,:),'k'); hold on
  78. % end;
  79. % xlabel('Normalized Frequency'); ylabel('Phase Delay');

  80. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  81. Fs = 16;  %采樣頻率
  82. T = 1 / Fs;
  83. F = 3.2;      %信號頻率
  84. N_Max = F*2^18;   %采樣點(diǎn)數(shù)
  85. f = F/Fs;

  86. n1 = 0:2:(N_Max-1);
  87. n2 = 1:2:(N_Max-1);


  88. %*******加時間失配*******%
  89. Time_Mismatch = [0,-0.01];
  90. %Time_Mismatch = [0 0 0 0];

  91. Data_in_1_Mismatch = awgn( cos(2*pi*f*(n1+Time_Mismatch(1))),100 );
  92. Data_in_2_Mismatch = awgn( cos(2*pi*f*(n2+Time_Mismatch(2))),100 );


  93. Data_in_1_Delay = 0;
  94. Data_in_2_Delay = 0;

  95. % for delay_test = Time_Mismatch(2)-0.1:0.01:

  96. for i = 0:P
  97.     Data_in_1_Delay = Data_in_1_Delay + conv(C(P-i+1,:),Data_in_1_Mismatch)*(0.5*Time_Mismatch(1))^i;
  98.     Data_in_2_Delay = Data_in_2_Delay + conv(C(P-i+1,:),Data_in_2_Mismatch)*(0.5*Time_Mismatch(2))^i;
  99. end


  100. for i = 0 : N_Max/2 + N - 1
  101.     Data_in_Delay(2*i+1) = Data_in_1_Delay(i+1);
  102.     Data_in_Delay(2*i+2) = Data_in_2_Delay(i+1);
  103. end

  104. for i = 0 : N_Max/2-1
  105.     Data_in_Mismatch(2*i+1) = Data_in_1_Mismatch(i+1);
  106.     Data_in_Mismatch(2*i+2) = Data_in_2_Mismatch(i+1);
  107. end

  108. figure(1)
  109. FFT_Analysis(Data_in_Mismatch,Fs)

  110. figure(2)
  111. FFT_Analysis(Data_in_Delay(end-2^15+1-50:end-50),Fs)
復(fù)制代碼

所有資料51hei提供下載:
Farrow.rar (3.08 KB, 下載次數(shù): 66)
回復(fù)

使用道具 舉報(bào)

ID:60531 發(fā)表于 2018-10-10 22:34 | 顯示全部樓層
謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

ID:415698 發(fā)表于 2018-10-29 15:01 | 顯示全部樓層
多謝樓主分享,希望有用
回復(fù)

使用道具 舉報(bào)

ID:482797 發(fā)表于 2019-3-1 17:09 | 顯示全部樓層
樓主,在嗎? 最近在做個farrow濾波器,可以把你編程的思路的文檔發(fā)我參考一下嗎?看代碼不是太清楚
回復(fù)

使用道具 舉報(bào)

ID:482797 發(fā)表于 2019-3-1 17:09 | 顯示全部樓層
樓主,在嗎?
最近在做個farrow濾波器,可以把你編程的思路的文檔發(fā)我參考一下嗎?看代碼不是太清楚
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲国产成人精品在线 | 亚洲国产高清免费 | 中文字幕不卡在线观看 | 欧美成人一区二区 | 午夜a√ | 欧美一级二级在线观看 | 婷婷福利视频导航 | 免费在线观看av网址 | 国产成人综合久久 | 精品国产91久久久久久 | 青青久草| 久久欧美高清二区三区 | 国产精品精品 | 天天综合亚洲 | 欧美在线视频免费 | 国产ts人妖系列高潮 | 日本精品一区二区三区在线观看视频 | 爱爱视频在线观看 | 一二三四在线视频观看社区 | 成人黄色电影免费 | 久久91精品国产 | 国产精品综合视频 | 九九久久国产 | 可以在线观看av的网站 | 亚洲精品一区二区 | 婷婷丁香在线视频 | 日韩av一区二区在线观看 | 天天操天天干天天爽 | 亚洲韩国精品 | 国产精品美女www爽爽爽视频 | 国产精品成人av | 99精品欧美一区二区三区综合在线 | 91久久精品一区二区二区 | 日韩毛片免费视频 | 日本久久黄色 | 精品欧美一区二区在线观看 | 欧美三级在线 | 亚洲成网站 | www.av在线 | 免费黄色的视频 | 久久精品亚洲欧美日韩久久 |