• LF몰 이벤트
  • 파일시티 이벤트
  • 캠퍼스북
  • 서울좀비 이벤트
  • 탑툰 이벤트
  • 닥터피엘 이벤트
  • 아이템베이 이벤트
  • 아이템매니아 이벤트

[신호 및 시스템]Project #1 - FIR convolution과 LPF

*민*
최초 등록일
2007.02.25
최종 저작일
2003.11
6페이지/한글파일 한컴오피스
가격 2,500원 할인쿠폰받기
다운로드
장바구니

소개글

신호 및 시스템 과목의 프로젝트 1번으로 기본적인 finite impulse response와 convolution을 사용하여 LPF의 작용에 대해서 코딩해보고 분석해본 것입니다.

coding도 레포트 안에 포함되어 있습니다.

목차

<Problem 1.>
Consider the following FIR(Fininte Impulse Response) system, where indicates one sample delay.
(a) system의 impulse response, 을 구하시오.
(b) 임의의 입력 에 대해 출력 을 구하는 convolution routine(fuinction)을 작성하시오.

<Problem 2.>
LPF(Low Pass Filter)는 저주파 신호만 통과시키고 고주파 신호는 제거하는 시스템이다. Problem 1의 시스템에 대해, 각 계수가 다음과 같이 주어지면 이 시스템은 LPF가 된다.
(a) 입력 의 파형을 그리시오.
(b) Problem 1에서 구한 convolution routine을 이용하여 출력 을 구하고 그리시오.
(c) (a), (b)의 결과를 비교하고 그 결과에 대해 분석하시오.

본문내용

<Problem 1.>
Consider the following FIR(Fininte Impulse Response) system, where indicates one sample delay.



(a) system의 impulse response, 을 구하시오.

은 one sample dalay를 나타내기 때문에 식으로 하나를 shift 시켜준 것이다. 일반적인 convolution 공식은 다음과 같다.

--------------------(1)

Coefficient만큼 Magnitude를 배 시켜주는 것까지 고려해서 나타내면 다음과 같다.

------(2)

General하게 표현하면 다음과 같게 된다.

-------------------(3)

(1)식과 (3)식을 비교하면 impulse response인 을 다음과 같이 구할 수 있다.



(b) 임의의 입력 에 대해 출력 을 구하는 convolution routine(fuinction)을 작성하시오. (coding)

= Convolution routine ===========================================================

#include<stdio.h>
#include<conio.h>
#include<math.h>
#define pi 3.14159265359 //pi값을 define.

double input(int); //double형의 General input signal 함수 지정.
double input_x(int); //double형의 Specific input signal 함수 지정.
double conv(int , float a[], int m); //Convolution Function 함수 지정.

void main() { //main -> n을 0에서 150까지 구하고 메모장에 값 출력하도록 지정.
FILE* outfile;
int n, m, i;
double y;
float Coeff[200];
printf("\nCoefficient의 개수를 입력하세요:"); //Coefficient 개수 입력.
scanf("%d", &m);
printf("\nCoefficient을 입력하세요:\n"); //Coefficient의 입력.
for(i=0;i<m;i++){
scanf("%f",&Coeff[i]);
}
outfile=fopen("data.txt","w");
fprintf(outfile,"n\t\tx[n]\t\t\ty[n]\n");
for(n=0;n<=150;n++){ //n값 0~150 범위에서 conv를 구하고 메모장에 출력.
x=input(n);
y=conv(n, Coeff, m);
fprintf(outfile,"%d\t\t%f\t\t%f\n",n, x, y);
}

참고 자료

없음
*민*
판매자 유형Bronze개인

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우

이런 노하우도 있어요!더보기

최근 본 자료더보기
  • 프레시홍 - 전복
탑툰 이벤트
[신호 및 시스템]Project #1 - FIR convolution과 LPF
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업