亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? firrcos.m

?? 現(xiàn)代通信系統(tǒng)(prokis)的所有matlab源程序,對初學(xué)者很有幫助的。
?? M
字號:
function [b,a]=firrcos(varargin)
%FIRRCOS Raised Cosine FIR Filter design.
%   B=FIRRCOS(N,Fc,DF,Fs) returns an order N low pass linear phase FIR 
%   filter with a raised cosine transition band.  The filter has cutoff
%   frequency Fc, sampling frequency Fs and transition bandwidth DF 
%   (all in Hz).
%
%   Fc +/- DF/2 must be in the range [0,Fs/2].    
%
%   The coefficients of B are normalized so that the nominal passband 
%   gain is always equal to one.
%
%   FIRRCOS(N,Fc,DF) uses a default sampling frequency of Fs = 2.
%
%   B=FIRRCOS(N,Fc,R,Fs,'rolloff') interprets the third argument as the
%   rolloff factor instead of as a transition bandwidth. Alternatively,
%   you can specify B=FIRRCOS(N,Fc,DF,Fs,'bandwidth') which is 
%   equivalent to B=FIRRCOS(N,Fc,DF,Fs).
%
%   R must be in the range [0,1].
%
%   B=FIRRCOS(N,Fc,DF,Fs,TYPE) or B=FIRRCOS(N,Fc,R,Fs,'rolloff',TYPE) 
%   will design a regular FIR raised cosine filter when TYPE is 
%   'normal' or set to an empty matrix. If TYPE is 'sqrt', B is the 
%   square root FIR raised cosine filter.
%
%   B=FIRRCOS(...,TYPE,DELAY) allows for a variable integer delay to be 
%   specified. When omitted or left empty, DELAY defaults to N/2 or
%   (N+1)/2 depending on whether N is even or odd.
%
%   DELAY must be an integer in the range [0, N+1].
%
%   B=FIRRCOS(...,DELAY,WINDOW) applies a length N+1 window to the 
%   designed filter in order to reduce the ripple in the frequency 
%   response. WINDOW must be a N+1 long column vector. If no window
%   is specified a boxcar (rectangular) window is used.
%
%   WARNING: Care must be exercised when using a window with a delay
%   other than the default.
%
%   [B,A]=FIRRCOS(...) will always return A = 1.
%
%   See also FIRLS, FIR1, FIR2.

%   Author(s): R. Losada and D. Orofino
%   Copyright 1988-2001 The MathWorks, Inc.
%   $Revision: 1.11 $  $Date: 2001/04/02 20:21:59 $

error(nargchk(3,8,nargin));

[n,fc,fs,R,designType,window,msg] = parse_inputs(varargin{:});
error(msg);

switch designType
case 'normal'   %normal raised cosine design
   b = normal_design(n,fc,fs,R);
case 'sqrt'	% square root raised cosine design
	b = sqrt_design(n,fc,fs,R);
end

if ~isempty(window),
	[b,msg] = apply_win(b,window);
	error(msg);
end

if nargout > 1
   a = 1.0;
end

%-------------------------------------------------------------------------------
function b = normal_design(n,fc,fs,R)
ind1 = find(abs(abs(4.*R.*fc.*n) - 1.0) > sqrt(eps));
if ~isempty(ind1),
	nind = n(ind1);
	b(ind1) =  sinc(2.*fc.*nind)./fs   ...
		.* cos(2.*pi.*R.*fc.*nind) ...
		./ (1.0 - (4.*R.*fc.*nind).^2);
end

ind = 1:length(n);
ind(ind1) = [];
b(ind) = R ./ (2.*fs) .* sin(pi ./ (2.*R));

b = 2.*fc.*b;

%-------------------------------------------------------------------------------
function b = sqrt_design(n,fc,fs,R)

ind1 = find(n == 0);
if ~isempty(ind1),
	b(ind1) = - sqrt(2.*fc) ./ (pi.*fs) .* (pi.*(R-1) - 4.*R );
end

ind2 = find(abs(abs(8.*R.*fc.*n) - 1.0) < sqrt(eps));
if ~isempty(ind2),
	b(ind2) = sqrt(2.*fc) ./ (2.*pi.*fs) ...
		* (    pi.*(R+1)  .* sin(pi.*(R+1)./(4.*R)) ...
		- 4.*R     .* sin(pi.*(R-1)./(4.*R)) ...
		+ pi.*(R-1)  .* cos(pi.*(R-1)./(4.*R)) ...
		);
end

ind = 1:length(n);
ind([ind1 ind2]) = [];
nind = n(ind);

b(ind) = -4.*R./fs .* ( cos((1+R).*2.*pi.*fc.*nind) + ...
	sin((1-R).*2.*pi.*fc.*nind) ./ (8.*R.*fc.*nind) ) ...
	./ (pi .* sqrt(1./(2.*fc)) .* ((8.*R.*fc.*nind).^2 - 1));

b = sqrt(2.*fc) .* b;

%-------------------------------------------------------------------------------
function [b,msg] = apply_win(b,window)

msg = '';
if length(window) ~= length(b),
	msg = 'WINDOW must be of the same length as the filter.';
	return
else
	b = b .* window(:).';
end

%-------------------------------------------------------------------------------
function [n,fc,fs,R,designType,window,msg] = parse_inputs(varargin)

% Initialize in case of early return
n = [];
fc = [];
fs = [];
R = [];
designType = '';
window = [];
msg = '';

N = varargin{1};
if isempty(N) | round(N) ~= N | N < 0,
   msg = 'Order must be a positive integer.';
   return
end
L = N+1; % Length of window

fc = varargin{2};

R = varargin{3};  % DF or R

% If optional arguments are not passed, substitute with empty:
for i = nargin+1:8,
   varargin{i}=[];
end

arg5opts = {'rolloff','sqrt','normal','bandwidth'};
% map 5th arg to one of 4 possible choices:
if isempty(varargin{5}),
   varargin{5} = arg5opts{3};
else
   idx = strmatch(lower(varargin{5}), arg5opts);
   if isempty(idx),
      msg = 'Argument 5 is unknown - must be one of: rolloff, bandwidth, sqrt, or normal.';
	  return
   end
   varargin{5} = arg5opts{idx};
end

% Apply defaults as appropriate:
%
% Set up default values
fs = 2;
designType = arg5opts{3};
if rem(L,2),
   delay = (L-1)/2;
else
   delay = L/2;
end


% Setup arg translation:
params = {'fs','designType','delay','window'};

% We define a flag to indicate whether a string for the transition region type was specified
isTranRegionStr = strcmp(varargin{5},'rolloff') | strcmp(varargin{5},'bandwidth');

if isTranRegionStr,
   xlat = [4 6:8];
else
   xlat = 4:7;
end

% Override defaults when needed:
for i=1:length(xlat),
   arg = varargin{xlat(i)};
   if ~isempty(arg),
   	 eval([params{i} '=arg;']);
   end
end

% Check for validity of fs
if ischar(fs),
   msg = 'Fs must be a number';
   return
end

% Check for valid cutoff frequency
if (fc <= 0) | (fc >= fs./2),
   msg = 'The cutoff frequency, Fc, must satisfy 0 < Fc < Fs/2.';
   return
end

% Check for valid rolloff or bandwidth values
if strcmp(varargin{5},'rolloff'),
   % check if input arguments are valid 
   if R < 0 | R > 1,
      msg = 'The rolloff factor, R, must satisfy 0 <= R <= 1.';
	  return
   end
   % check for range of input arguments
   if (fc + R.*fc) > fs/2
      msg = sprintf(['The cutoff frequency, Fc, and rolloff factor, R,\n',...
			  'must be specified such that Fc + Fc*R <= Fs/2.']);
	  return
   end
elseif strcmp(varargin{5},'bandwidth') | ~isTranRegionStr % arg5 is bandwidth, sqrt or normal
   % check for range of input arguments
   if fc - R/2 < 0 | fc + R/2 > fs/2
      msg = sprintf(['The cutoff frequency, Fc, and the transition bandwidth, DF,\n',...
			  'must be specified such that Fc +/- DF/2 is between zero and Fs/2.']);
	  return
   end
   % bandwidth is valid, convert to rolloff
   R = R / (2*fc);
end

if delay < 0 | delay > L
   msg = 'DELAY must be in the range [0, L+1].';
   return
elseif round(delay) ~= delay
   msg = 'DELAY must be an integer.';
   return
end

% R is now always a rolloff factor - DF has been converted
if R == 0,
   R = realmin;
end

%n = -delay/fs : 1/fs : (L-delay-1)/fs;
n = ((0:L-1)-delay) ./ fs;

if isTranRegionStr, % 6th argument, if present, is designType
   arg6opts = {'sqrt','normal'};
   % map 6th arg to one of 2 possible choices:
   if isempty(varargin{6}),
      designType = arg6opts{2};
   else
      idx = strmatch(lower(varargin{6}), arg6opts);
      if isempty(idx),
         msg = 'Argument 6 is unknown - must be one of: sqrt, normal or [].';
		 return
      end
      designType = arg6opts{idx};
   end
end

% EOF

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区视频免费播放| 成人午夜激情视频| 欧美三级三级三级爽爽爽| 亚洲午夜羞羞片| 欧美群妇大交群的观看方式| 五月天精品一区二区三区| 欧美一级高清片在线观看| 久久99国产精品成人| 国产亚洲福利社区一区| 99久久精品国产麻豆演员表| 亚洲国产欧美在线人成| 91麻豆精品国产91久久久久久| 毛片基地黄久久久久久天堂| 国产欧美日韩视频一区二区| 91网站在线播放| 丝袜诱惑制服诱惑色一区在线观看 | 51精品视频一区二区三区| 美女视频免费一区| 欧美激情一区在线观看| 欧美在线视频全部完| 麻豆freexxxx性91精品| 中文在线一区二区| 欧美视频在线观看一区| 久久国产精品色| 亚洲视频香蕉人妖| 日韩一区二区高清| 成人短视频下载| 成人黄色av电影| 亚洲va国产天堂va久久en| 26uuu欧美| 欧美中文字幕一二三区视频| 蜜臀99久久精品久久久久久软件 | 2021中文字幕一区亚洲| 成人99免费视频| 裸体一区二区三区| 综合电影一区二区三区| 日韩免费观看高清完整版| 99国产精品国产精品久久| 蜜臀久久99精品久久久久久9| 国产精品传媒视频| 精品久久久久香蕉网| 日本精品一区二区三区高清 | 久久综合九色综合97婷婷| 91视频你懂的| 国产成人综合在线观看| 视频一区二区中文字幕| 国产三区在线成人av| 91精品国产手机| 91免费版在线| 丁香婷婷深情五月亚洲| 毛片不卡一区二区| 性做久久久久久久免费看| 中文字幕一区视频| 国产无一区二区| 欧美电视剧在线观看完整版| 欧美影片第一页| 91视频免费观看| 成人国产精品免费观看| 韩国成人在线视频| 欧美aaa在线| 午夜精品久久久久久久99水蜜桃| 亚洲视频一区二区在线观看| 国产精品五月天| 久久久.com| 久久天堂av综合合色蜜桃网| 日韩一区二区麻豆国产| 欧美卡1卡2卡| 欧美日韩免费视频| 91国偷自产一区二区开放时间 | 日本女人一区二区三区| 亚洲一区二区成人在线观看| 亚洲美女一区二区三区| 亚洲欧美经典视频| 亚洲欧美日韩久久精品| 亚洲乱码精品一二三四区日韩在线| 国产日韩av一区| 国产午夜亚洲精品羞羞网站| 一区二区三区中文字幕精品精品| 欧美激情一区三区| 国产精品麻豆网站| 国产精品久久久久久久浪潮网站| 中文天堂在线一区| 中文字幕成人网| 国产精品传媒入口麻豆| 亚洲人吸女人奶水| 一区二区三区精品视频| 亚洲国产视频直播| 日韩av中文字幕一区二区| 蜜桃在线一区二区三区| 久久66热re国产| 国产精品一区二区在线看| 成人深夜福利app| 91亚洲精品乱码久久久久久蜜桃| 色综合久久久久久久| 欧美亚洲国产bt| 日韩一区二区三区av| 久久久欧美精品sm网站 | 国产精品美女www爽爽爽| 欧美激情中文字幕一区二区| 中文字幕欧美一| 亚洲综合图片区| 婷婷久久综合九色综合伊人色| 蜜乳av一区二区三区| 久久精品噜噜噜成人av农村| 国产高清久久久久| av中文字幕在线不卡| 欧美猛男超大videosgay| 欧美一区二区黄色| 日本一区二区成人| 亚洲中国最大av网站| 久久国产精品露脸对白| 不卡视频免费播放| 欧美精品在线一区二区| 欧美成人精品1314www| 国产精品久久久久9999吃药| 亚洲香蕉伊在人在线观| 激情五月播播久久久精品| 91蜜桃在线免费视频| 欧美一级高清大全免费观看| 国产精品美女久久久久久久久| 亚洲成av人片在线观看| 国产经典欧美精品| 欧美三级蜜桃2在线观看| 国产亚洲一区二区三区在线观看| 亚洲美女视频一区| 国产综合一区二区| 欧美日韩亚洲另类| 久久久蜜桃精品| 91麻豆免费在线观看| 欧美日韩国产一区| 国产精品麻豆欧美日韩ww| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 精品福利在线导航| 蜜桃91丨九色丨蝌蚪91桃色| 在线成人高清不卡| 首页欧美精品中文字幕| 欧美猛男gaygay网站| 香蕉av福利精品导航| 欧美另类videos死尸| 图片区日韩欧美亚洲| 欧美精品久久99久久在免费线| 午夜视频在线观看一区二区| 欧美日韩国产一区| 男女男精品网站| 欧美成人福利视频| 国产福利不卡视频| 国产视频一区二区在线| 成人精品视频网站| 亚洲女人小视频在线观看| 欧洲精品在线观看| 五月天激情小说综合| 日韩欧美亚洲另类制服综合在线| 看电视剧不卡顿的网站| 久久亚洲精精品中文字幕早川悠里| 欧美人体做爰大胆视频| 人禽交欧美网站| 久久精品一区二区三区av| 成人午夜视频福利| 亚洲精品成人天堂一二三| 欧美日韩精品是欧美日韩精品| 日本aⅴ精品一区二区三区| 欧美成人福利视频| 成人av在线播放网站| 亚洲一区二区三区自拍| 这里只有精品电影| 国产乱妇无码大片在线观看| 亚洲欧洲另类国产综合| 欧美日韩免费在线视频| 国模无码大尺度一区二区三区| 国产精品美女久久久久久2018 | 国内精品在线播放| 亚洲欧美怡红院| 在线成人午夜影院| 大胆欧美人体老妇| 亚洲午夜激情av| 久久久久久亚洲综合影院红桃| 97成人超碰视| 日本不卡123| 国产精品久久久久婷婷| 欧美剧在线免费观看网站| 国产精品一区二区三区四区| 一级精品视频在线观看宜春院| 日韩精品在线网站| 99国产精品久久久久久久久久 | 成人久久18免费网站麻豆 | 亚洲乱码国产乱码精品精98午夜| 欧美精品777| aaa国产一区| 久久机这里只有精品| 亚洲乱码中文字幕| 久久久久综合网| 欧美美女一区二区在线观看| 成人蜜臀av电影| 美女任你摸久久 | 激情伊人五月天久久综合| 一区二区欧美在线观看| 欧美国产激情二区三区 | 国产精品美女久久久久久2018| 在线电影一区二区三区| 精品国产精品网麻豆系列|