當前位置:首頁 » 編程語言 » c語言實現卷積

c語言實現卷積

發布時間: 2022-11-26 07:29:15

Ⅰ 關於c語言的問題(卷積)

裡面的你可以到Turbo C裡面 用F7單步執行,就可以看到相應的步驟了。
其他的編譯軟體也有相應的調試方法

Ⅱ 卷積積分的C語言程序

代碼並不長,建議單步運行去看看,看走到哪一步時結果與你想像的不一致,再分析那一段代碼...

Ⅲ C語言 卷積

裡面的你可以到Turbo C裡面 用F7單步執行,就可以看到相應的步驟了。
其他的編譯軟體也有相應的調試方法
請採納答案,支持我一下。

Ⅳ C語言用子函數實現卷積

conv(intu[],intv[],intw[],intm,intn)
{
inti,j;

intk=m+n-1;

for(i=0;i<k;i++)
for(j=max(0,i+1-n);j<=min(i,m-1);j++)
{
w[i]+=u[j]*v[i-j];
}
}

u[],v[]為原始數組,m,n分別為數組長度,w[]為卷積結果(w[]需初始化為0),其長度為m+n-1

Ⅳ c語言程序設計 通信中的卷積碼

如果傳輸信道質量較好,為提高編碼效率,可以采樣收縮截短卷積碼。有編碼效率在DVB-C系統中的CA系統原理就源於此,只不過為了加強系統的保密性,其偽

Ⅵ 用C語言做離散卷積運算

暴力N ^ 2可以直接乘,直接雙重循環即可,要快的話可以用NlogN的FFT。

Ⅶ 離散卷積和循環卷積的計算機C語言計算

卷積可以將 兩個數列分別做FFT 在對應相乘 ,在做IFFT 。
好像一般軟體沒有相應的函數,直接用FFT 和IFFT 也挺方便的 。你簡單組合一下就行了

Ⅷ matlab中conv(卷積)函數的C語言實現的源代碼請求大蝦幫助。

function a=myconv(b,c)
bs=size(b);
cs=size(c);
i=any(bs-cs);
if i
error('error')
end
i=any(~(bs-1));
if ~i
error('error')
end
ko=0;
if bs(1)>bs(2)
b=b';
c=c';
ko=1;
end
bs=size(b);
cs=size(c);
ss=2*bs(2)-1;
a=zeros(1,ss);
for i=1:cs(2)
q=zeros(1,i-1);
p=zeros(1,ss-cs(2)+1-i);
ba=[q,c,p];
ma=b(i)*ba;
a=a+ma;
end
if ko
a=a';
end
end
測試了一下,跟conv計算的結果偏差很小(我測試的結果是10^-15左右),執行效率略低(用cputime 測試rand(1,99),差了0.2964) 商業軟體就是牛啊 真想知matlab中這個函數的源代碼

Ⅸ 卷積積分的程序

#include<graphics.h>
#include<math.h>
#include<stdio.h>
#include<conio.h>float x[3],h[4],y[7];
pro1()
{
int n,i;
float c,k;
printf("please input 3 words for x(n) end with Enter.");
for(i=0;i<=2;i++)
{scanf("%f",&c);<br/>x[i]=c;}
printf("please input 4 words for h(n) end with Enter.");
for(i=0;i<=3;i++)
{scanf("%f",&k);h[i]=k;}for(n=0;n<=2;n++)
{
printf("%f \n",x[n]);
}getch();
for(n=0;n<=3;n++)
{
printf("%f \n",h[n]);
}getch();}
void show()
{
int i=0;
int driver=DETECT,MODE;
initgraph(&driver,&MODE,"");
setbkcolor(0);
cleardevice();
for(i=0;i<=2;i++)
{
setfillstyle(SOLID_FILL,RED);
bar((i+1)*10+20,(int)(400-x[i]*10),(i+1)*10+22,400);
}
printf("x(n)");getch();
cleardevice();
for(i=0;i<=3;i++)
{
setfillstyle(SOLID_FILL,GREEN);
bar((i+1)*10+20,(int)(400-h[i]*10),(i+1)*10+22,400);
}
printf("x2(n)");getch();
cleardevice();for(i=0;i<=7;i++)
{
setfillstyle(SOLID_FILL,CYAN);
bar((i+1)*10+20,(int)(400-y[i]),(i+1)*10+22,400);
}
printf("y(n)=x(n)*h(n);");getch();
cleardevice();
printf("y(n)=x(n)*h(n)\n");
for(i=0;i<=7;i++)
printf("%f ",y[i]);
getch();}convolve()
{
int i,j;
for(i=0;i<=6;i++)
{
float t=0.0;
for(j=0;j<=2;j++)
{
if(i-j>=0&&i-j<=2)
t+=x[j]*h[i-j];
}
y[i]=t;
}
}
main()
{
pro1();
convolve();
show();
}

Ⅹ 怎樣用c語言編寫卷積計算程序

卷積計算你可以查《信號與系統》這本書。

熱點內容
sql的decode 發布:2025-01-17 01:01:01 瀏覽:4
系數參數配置什麼意思 發布:2025-01-17 00:34:03 瀏覽:755
台灣免費伺服器雲主機 發布:2025-01-17 00:29:07 瀏覽:870
c語言sizeofchar 發布:2025-01-17 00:29:01 瀏覽:469
安卓手機的雲備份在哪裡能找到 發布:2025-01-17 00:14:12 瀏覽:472
詐騙的腳本 發布:2025-01-16 23:51:27 瀏覽:315
電腦配置有點低怎麼玩和平精英 發布:2025-01-16 23:46:14 瀏覽:819
ipfs分布式伺服器是什麼幣種 發布:2025-01-16 23:32:29 瀏覽:992
android動態icon 發布:2025-01-16 23:03:12 瀏覽:605
優酷電腦緩存在哪 發布:2025-01-16 22:58:29 瀏覽:298