c++ 언어로 구현한 convolution
- 최초 등록일
- 2008.10.23
- 최종 저작일
- 2008.09
- 9페이지/ 한컴오피스
- 가격 1,500원
소개글
c언어로 코딩한 간단한 형태의 콘볼루션 소스와 설명이 같이 있는
리포트이다
목차
1. problem definition
2. aim of homework
3. content
▽▼ 프로그램 소스▽▼
본문내용
- 간단한 LTI 시스템의 정의
_간단한 콘볼루션 C프로그래밍 소스
1. first problem
#include
#include
#include
#include
int main(int argc, char* argv[])
{
int i,j, m, n, offset;
char signal[10]={0,4,0, 5, 0,0,-3,0,0,0};
//signal의 amplitude value 원점 좌표는 signal[3]
char system[10]={0,0,0, 3, 2,1, 0,0,0,0};
//system의 amplitude value 원점 좌표는 system[3]
char result[13];
memset(result,0,13); // execute Convolution
for(i=0;i<7;i++)
{
offset = i-2; // 원점의 위치는 -2 만큼 offset.
for(j=0;j<7;j++)
{
if( (j+offset >0 ) && (j+offset < 10))
result[j+offset] += system[j] * signal[i];
}
}
printf("-------------------------------------------\n");
printf("\t 콘볼루션 x[n] * h[n] = y[n] \n");
printf("-------------------------------------------\n");
printf("시그날 x[n] : ");
for ( i =0; i < 10 ; i ++ )
printf("%d ",signal[ i ]); // signal value 출력
printf("\n-----------------------------------------\n");
printf("시스템 h[n] : ");
for ( i =0; i < 10 ; i ++ )
참고 자료
없음