ドキュメンテーションヘルプセンター
このページの翻訳は最新ではありません。ここをクリックして,英语の最新版を参照してください。
ñを法とする循环畳み込み
C =参见cconv(A,B)
C =参见cconv(A,B,n)的
例
C=参见cconv(一种那B.)は,ベクトル一种とB.の畳み込みを行います。
C=参见cconv(一种那B.)
C
一种
B.
C=参见cconv(一种那B.那N)では,ベクトル一种およびB.が巡回的に畳み込まれます。ここでNは,结果として返されるベクトルの长さですま。た,CConv.を使用して2つのシーケンスの循环相互相关を计算できます。
C=参见cconv(一种那B.那N)
N
CConv.
すべて折りたたむ
异なる长さの2つの信号を生成します。それらの循环畳み込みと线形畳み込みを比较します。Nの既定の値を使用します。
A = [1 2 -1 1];B = [1 1 2 1 2 2 1 1];C =参见cconv(A,B);%循环卷积CREF = CONV(A,B);%线性卷积DIF =范数(C-CREF)
DIF = 9.7422e-16
结果のノルムは実质的にゼロで,これら2つの畳み込みがマシンの精度に与える结果はほぼ同じであると言えます。
2つのベクトルを生成し,4を法とする循环畳み込みを计算します。
A = [2 1 2 1];B = [1 2 3 4];C =参见cconv(A,B,4)
C =1×414 16 14 16
2つの复素数量シーケンス生成します。CConv.を使用して,それらの循环相互相关を比较します。相互相关の定义に适合するように2番目のオペランドを反転して共役させます。出力ベクトル长に7を指定します。
A = [1 2 2 1] + 1I;B = [1 3 4 1] -2 * 1I;C =参见cconv(一,连词(fliplr(b)中),7);
この结果を,xcorrを使用して计算した相互相关と比较します。
xcorr
CREF = xcorr(A,B);DIF =范数(C-CREF)
DIF = 3.3565e-15
5サンプルの三角波と応答 H ( Z. ) = 1 - Z. - 1 を持つ1次FIRフィルターの2つの信号を生成します。
x1 = conv([1 1 1],[1 1 1])
X1 =1×51 2 3 2 1
X2 = [-1 1]
X2 =1×2-1 1
结果は,2つの信号ます畳み込みはになり。
CCNV =参见cconv(X1,X2)
CCNV =1×6-1.0000 -1.0000 -1.0000 1.0000 1.0000 1.0000
LCNV = CONV(X1,X2)
LCNV =1×6-1 -1 -1 1 1 1
2を法とする循环畳み込みは,线形畳み込みを2つの要素をもつ配列に分割してから配列を加算することと同等です。
CCN2 =参见cconv(X1,x2,2)
CCN2 =1×2-1 1
NL = numel(LCNV);模2 =总和(重塑(LCNV,2,NL / 2)')
mod2 =1×2-1 1
3を法とする循环畳み込みを计算し,エイリアシングした线形畳み込みと比较します。
ccn3 = cconv(x1,x2,3)
CCN3 =1×30 0 0
MOD3 =总和(重塑(LCNV,3,NL / 3)')
量mod3 =1×30 0 0
出力长が畳み込み长より小さく,畳み込み长が出力长で割り切れない场合は,加算する前に畳み込みをゼロでパディングします。
C = 5;Z =零(C *小区(NL / c)中,1);Z(1:NL)= LCNV;CCNC =参见cconv(X1,X2,c)中
CCNC =1×50.0000 -1.0000 -1.0000 1.0000 1.0000
modc = sum(重塑(z,c,numel(z)/ c)')
的MoDC =1×50 -1 -1 1 1
出力长が畳み込み长と等しいか,またはそれより大きい场合は,畳み込みをパディングし,加算は行いません。
d = 13;Z =零(d *小区(NL / d),1);Z(1:NL)= LCNV;ccnd =参见cconv(X1,X2,d)
ccnd =1×13-1.0000 -1.0000 -1.0000 1.0000 1.0000 1.0000 0.0000 -0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000
MODD = Z”
MODD =1×13-1 -1 -1 1 1 1 0 0 0 0 0 0 0
この例では次を使用します:
次の例では,并行计算工具箱™ソフトウェアが必要です。どのGPUがサポートされているかについては,GPU支金宝app持方式发布(并行计算工具箱)を参照してください。
加法性ホワイトガウスノイズの1千赫の正弦波から构成される2つの信号を作成します。サンプルレートは10千赫です。
FS = 1E4;t = 0时:1 / FS:10-(1 / FS);X = COS(2 * PI * 1E3 * T)+ randn(大小(T));Y = SIN(2 * PI * 1E3 * T)+ randn(大小(T));
gpuArrayを使用してXとyをGPUに入力します.GPUを使用して循环畳み込みを取得します。
gpuArray
X
y
X = gpuArray(X);Y = gpuArray(Y);CIRC =参见cconv(X,Y,长度(X)+长度(Y)-1);
结果をXとýの线形畳み込みと比较します。
LINC = CONV(X,Y);范数(LINC-CIRC,2)
ANS = 1.4047e-08
收集を使用して,循环畳み込み保监会をMATLAB®ワークスペースに返します。
收集
保监会
CIRC =聚集(CIRC);
入力配列。ベクトルまたはgpuArrayオブジェクトとして指定します。gpuArrayオブジェクトの详细については,GPUでのMATLAB关数の実行(并行计算工具箱)を参照してください。CConv.をgpuArrayオブジェクトと使用するには,并行计算工具箱™ソフトウェアが必要です。どのGPUがサポートされているかについては,GPU支金宝app持方式发布(并行计算工具箱)を参照してください。
例:SIN(2 * PI *(0:9)/ 10)+ randn([1 10])/ 10では,行ベクトルとしてノイズを含んだ正弦波を指定します。
SIN(2 * PI *(0:9)/ 10)+ randn([1 10])/ 10
例:GPUARRAY(SIN(2 * PI *(0:9)/ 10)+ RANDN([1 10])/ 10)は,gpuArrayオブジェクトとしてノイズを含んだ正弦波を指定します。
GPUARRAY(SIN(2 * PI *(0:9)/ 10)+ RANDN([1 10])/ 10)
データ型:单身的|双倍的复素数のサポート:あり
单身的
双倍的
畳み込みの长さ。正の整数として指定します。Nを指定しないない合,畳み込みの长さは长度(a)+长度(B)-1です。
长度(a)+长度(B)-1
入力ベクトルの循环畳み込み。ベクトルまたはgpuArrayとして返されます。
长いシーケンスでは,循环畳み込みの方が线形畳み込みよりも速くなる场合があります。
[1] ORFANIDIS,索福克勒斯J.介绍信号处理。新泽西州Englewood Cliffs:普伦蒂斯霍尔,1996年,页524-529。
详细については,GPU配列をにますます。GPUでのMATLAB关数の実行(并行计算工具箱)を参照してください。
conv|xcorr
conv
この例の変更されたバージョンがあります。编集された方の例を开きますか?
次のMATLABコマンドに対応するリンクがクリックされました。
コマンドをMATLABコマンドウィンドウに入力して実行してください名.webブラウザーはMATLABコマンドをサポートしていません。
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
联系您当地的办公室