• 전문가 요청 쿠폰 이벤트
*효*
Bronze개인
팔로워0 팔로우
소개
등록된 소개글이 없습니다.
전문분야 등록된 전문분야가 없습니다.
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 7
검색어 입력폼
  • Digital clock chip - TIME, DATE, TIMER Blocks
    과 목 :과 제 명 :담당교수 :학 과 :학 년 :이 름 :학 번 :제 출 일 :Digital clock chip - TIME, DATE, TIMER Blocks1. Purpose이번 실습에서는 digital clock chip 에 있어 사용되는 TIME, DATE, TIMER BLOCK을 VHDL로 설계한다.2. Problem statement① Describe what is the problem.Digital Clock Chip 에서 사용되는 TIME, DATE, TIMER BLOCK 을 설계하고자 한다. 이 중에서 TIME BLOCK 은 미리 설계되어 제공 되므로 DATE 와 TIMER BLOCK 을 설계한다. 이 후 설계한 각 BLOCK 을 주어진 테스트 벤치 코드를 이용하여 시뮬레이션하여 에러메시지 없이 통과되도록 해야 한다.② Describe how do you solve the problem.1) date blockDATE는 output으로 날짜(MONTH, DAY)를 생성하게 된다. DATE를 위해 PROCESS 문을 두 개가 필요하다. 하나는 SET_GEN 부분이고 다른 하나는 DATA_GEN 부분이다.먼저 SET_GEN에서 MODE1,2, INCREASE를 입력받아 어떤 기능을 실행할지 결정한다. 아래의 상태표처럼 MODE1=01 일 때만 DATE는 동작을 하게 된다. INCREASE=1이고 MODE1=01일 때, MODE2=01이면 MONTH를 증가시키고, MODE2=10이면 DAY를 증가시키게 된다. PROCESS문 안에 if 문을 이용하여 MODE에 따른 INC_DAY, INC_MON을 나타낸다.두 번째로 DARA_GEN에서 DAY의 변화는 TIME block에서 만들어낸 HOUR_CARRY에 의한 증가와 INCREASE에 의한 INC_DAY에 의한 증가가 있다. HOUR_CARRY에 의한 증가는 시간이 흘러감에 따른 증가 이고 INC_DAY에 의한 증가는 사용자가 버튼을 눌렀을 때 발생하는 증가 이다. MONTH의 변화는 시간(DAY의 변화)의 증가에 따른 증가와 INC_MON에 의한 증가가 있다. MONTH에서는 달마다 일의 수가 다르므로 각 달마다의 일의 수를 생각하여 코딩을 해야 한다. 또한 DAY, MONTH 변화를 나타낼 때 초기 상태가 1월 1일인 것을 생각해 주어야 한다. PROCESS내에서 if 문을 사용하여 각 조건에 맞게 코딩한다. 그리고 bit_vector에서는 덧셈 연산을 할 수 없으므로 function 구문을 사용하여 day, month의 증가를 나타낼 수 있도록 하였다.※ 상태표2) timer blockTIMER는 MODE1=10일 때만 동작하게 된다. TIMER는 출력을 ‘**분 **초 *‘ 로 가지며 최대 출력은 59분 59초 9이다. MODE2=01일 때 START가 되며, MODE2=10일 때 STOP이 된다. MODE2=00이거나 MODE1의 값이 바뀌게 되면 RESET 된다. TIMER는 하나의 PROCESS 구문을 갖는다. rising edge 일 때, MODE1=10, MODE2=01 이면 function을 이용해서 COUNT의 값을 증가시킨다. COUNT의 값이 10이 되면 (clk 10개가 지나가면) SECC의 값을 하나 증가 시키고 COUNT의 값을 0으로 초기화 한다. SECC의 값이 10이 되면 SEC의 값을 하나 증가시키고, SECC의 값은 초기화 시킨다. 그리고 SEC의 값이 60이 되면 MIN의 값을 하나 증가시키고 SEC의 값을 초기화시키게 된다. DATE와 마찬가지로 COUNT, SECC, SEC, MIN 의 증가는 function구문을 이용한다. MODE1=10, MODE=00이면 COUNT, SECC, SEC, MIN 의 값을 모두 0으로 RESET 시킨다. MODE1의 값이 10을 갖지 않을 때도 0으로 RESET 시킨다.3. Sources & Results1) VHDL Source (MODE_GEN.vhd)① DATE.vhd--librarylibrary IEEE;use IEEE.STD_LOGIC_1164.ALL;---- Uncomment the following library declaration if instantiating---- any Xilinx primitives in this code.--library UNISIM;--use UNISIM.VComponents.all;--entityentity DATE isport (CLK, HOUR_CARRY, INCREASE : in bit;MODE1, MODE2 : in bit_vector(1 downto 0);MON : out bit_vector(3 downto 0);DAY : out bit_vector(4 downto 0));end DATE;--architecturearchitecture DATE_A of DATE issignal INC_MON, INC_DAY : bit;signal MON_sig : bit_vector (3 downto 0):="0001";signal DAY_sig : bit_vector (4 downto 0):="00001";-- month 증가를 위한 functionfunction incr_mon ( i_val : bit_vector(3 downto 0) )return bit_vector isvariable cin, cout : bit;variable retval : bit_vector(3 downto 0);beginretval := i_val;if i_val(0) = '0' thenretval(0) := '1';elseretval(0) := '0';cin := '1';for i in 1 to 3 loopretval(i) := i_val(i) xor cin;cout := i_val(i) and cin;cin := cout;end loop;end if;return retval;end;-- day 증가를 위한 functionfunction incr_day( i_val : bit_vector(4 downto 0) )return bit_vector isvariable cin, cout : bit;variable retval : bit_vector(4 downto 0);beginretval := i_val;if i_val(0) = '0' thenretval(0) := '1';elseretval(0) := '0';cin := '1';for i in 1 to 4 loopretval(i) := i_val(i) xor cin;cout := i_val(i) and cin;cin := cout;end loop;end if;return retval;end;beginDAY
    공학/기술| 2011.06.06| 12페이지| 1,500원| 조회(172)
    미리보기
  • Digital clock chip - SELECTOR & DIVIDER Blocks
    과 목 :과 제 명 :담당교수 :학 과 :학 년 :이 름 :학 번 :제 출 일 :Digital clock chip - SELECTOR & DIVIDER Blocks1. Purpose이번 실습에서는 digital clock chip 에 있어 사용되는 SELECTOR와 DIVIDER BLOCK을 VHDL로 설계한다.2. Problem statement① Describe what is the problem.Digital Clock Chip 에서 사용되는 SELECTOR와 DIVIDER BLOCK 을 설계하고자 한다. 먼저 SELECTOR BLOCK 은 ALARM BLOCK과 FOUR_TO_ONE BLOCK으로 나뉜다. ALARM에서는 ALARM을 설계하고 FOUR_TO_ONE에서는 각 모드에 따라 어떤 값들이 출력될 것인지 선택하게 된다. DIVIDER BLOCK은 SELECTOR BLOCK의 OUTPUT 값들을 십진수의 값으로 변환하여 출력하기 위한 BLOCK이다. 이 두 개의 코드를 작성한 후 각각을 테스트 벤치 코드를 이용하여 시뮬레이션 해본 후 앞에서 했던 과제들의 코드를 가져와 DIGITAL CLOCK이라는 전체적인 코드를 시뮬레이션 해본다.② Describe how do you solve the problem.1) SELECTOR blockSELECTOR는 ALARM을 생성하고 MODE(크게 4개의 모드)에 따라 어떤 값들을 선택할지를 결정하게 된다. 여기서는 PROCESS 문을 두 개가 필요하다. 하나는 ALARM_SET 부분이고 다른 하나는 FOUR_TO_ONE 부분이다.먼저 ALARM_SET에서는 일단 MODE1="11"일 때만 동작하게 된다. 즉, ALARM모드 일때만 동작하는 것이다. 이 모드에서 INCREASE가 1이면 MODE2에 따라 알람 시간의 HOUR와 MIN을 증가시킨다. MODE2="01"이면 ALARM_HOUR를 하나 증가시키게 된다. 여기서 이미 ALARM_HOUR의 값이 23이라면 0으로 RESET시킨다. 비슷하게 MODE2="10"이면 ALARM_MIN의 값을 하나 증가시키게 된다. 여기서도 이전의 ALARM_MIN의 값이 59라면 0의 값으로 RESET시킨다. MODE1,2, INCREASE를 입력받아 어떤 기능을 실행할지 결정한다. 그리고 ALARM이 SET되고 실제 HOUR와 MIN의 값이 각각 ALARM_HOUR와 ALARM_MIN의 값과 같다면 ALARM을 실행시킨다. 그다음 SET버튼을 누르게 되면 (SET='1') ALARM은 꺼져야 한다.두 번째로 FOUR_TO_ONE 에서는 각각의 MODE에 따라 display될 OUTPUT을 결정하게 된다. CASE문을 이용하여 각 모드에 따른 OUTPUT (OUT_H, OUT_M, OUT_S)의 값을 결정한다. 아래의 표와 같이 MODE1에 따른 값을 출력으로 해준다.2) DIVIDER blockDIVIDER BLOCK은 SELECTOR BLOCK에서 출력된 OUTPUT(OUT_H, OUT_M, OUT_S)의 값을 십진수로 변환해주는 역할을 하게 된다. INPUT으로 BINARY의 값이 들어오게 되면 BCD_H의 값을 십의 자리로, BCD_L의 값을 일의 자리로 생각하여 BINARY를 십진수로 변환했을 때의 십의 자리와 일의 자리를 출력하게 되는 것이다.3. Sources & Results1) VHDL Source (MODE_GEN.vhd)① SELECTOR.vhd------------------------------------------------------------------------------------ librarylibrary IEEE;---- Uncomment the following library declaration if instantiating---- any Xilinx primitives in this code.--library UNISIM;--use UNISIM.VComponents.all;-- entityentity SELECTOR isport (CLK, INCREASE, SET : in bit;MODE1, MODE2 : in bit_vector(1 downto 0);HOUR : in bit_vector(4 downto 0);MIN, SEC : in bit_vector(5 downto 0);MON : in bit_vector(3 downto 0);DAY : in bit_vector(4 downto 0);MIN_SW, SEC_SW : in bit_vector(5 downto 0);SECC_SW : in bit_vector(3 downto 0);OUT_H, OUT_M, OUT_S : out bit_vector(5 downto 0);ALARM : out bit);end SELECTOR;-- archictecturearchitecture Behavioral of SELECTOR is-- alarm 의 hoursignal ALARM_H : bit_vector (4 downto 0);-- alarm 의 minsignal ALARM_M : bit_vector (5 downto 0);-- alarm을 위한 signalsignal sig_s : bit := '0';-- hour를 하나 증가시키기 위한 functionfunction incr_hour( i_val : bit_vector(4 downto 0) )return bit_vector isvariable cin, cout : bit;variable retval : bit_vector(4 downto 0);beginretval := i_val;if i_val(0) = '0' thenretval(0) := '1';elseretval(0) := '0';cin := '1';for i in 1 to 4 loopretval(i) := i_val(i) xor cin;cout := i_val(i) and cin;cin := cout;end loop;end if;return retval;end;-- minute을 하나 증가시키기 위한 functionfunction incr_min( i_val : bit_vector(5 downto 0) )return bit_vector isvariable cin, cout : bit;variable retval : bit_vector(5 downto 0);beginretval := i_val;if i_val(0) = '0' thenretval(0) := '1';elseretval(0) := '0';cin := '1';for i in 1 to 5 loopretval(i) := i_val(i) xor cin;cout := i_val(i) and cin;cin := cout;end loop;end if;return retval;end;begin-- output OUT_H, OUT_M, OUT_S 을 위한 processFOUR_TO_ONE : process (MODE1, MODE2, HOUR, MIN, SEC, MON, DAY, MIN_SW, SEC_SW,SECC_SW, ALARM_H, ALARM_M)beginif ( MODE1 = "00") then-- time modeOUT_H
    공학/기술| 2011.06.06| 11페이지| 1,500원| 조회(199)
    미리보기
  • Digital clock chip - mode generator
    과 목 :과 제 명 :담당교수 :학 과 :학 년 :이 름 :학 번 :제 출 일 :Digital clock chip - mode generator1. Purpose이번 project에서는 digital clock chip를 구현하기 위해 첫 번째로 필요한 mode generator 를 VHDL로 설계한다.2. Problem statement① Describe what is the problem.Digital Clock을 사용할 때에 특정 버튼을 누르게 되면 시간, 날짜 등을 변경할 수 있다. digital clock에서의 시간, 날짜, 타이머, 알람의 기능을 구현하기 위해 SW1, SW2, SET 의 3개의 버튼을 가정하고 이 버튼들을 누를 때마다 MODE를 변화시켜 각 MODE에 맞는 기능을 실현시킬 수 있도록 하는 시스템의 제어 부분인 MODE GENERATOR를 설계 하여야 한다.② Describe how do you solve the problem.버튼은 총 3 개로서 SW1, SW2, SET 이라고 이름 붙인다.- SW1 : 4 개의 MODE1(TIME, DATE, TIMER, ALARM) 중 하나를 선택한다.- SW2 : 각 MODE1는 각각 3가지의 기능을 갖는데 SW2를 통해 MODE2를 선택한다.- SET : SW2로 인해 선택된 내부 MODE 중에서 시간, 분, 월, 일 등의 값을 증가시키는 역할을 한다.MODE1는 총 4 가지로 구성되어 있다.- TIME : 시간을 설정 한다.- DATE : 날짜를 설정한다.- TIMER : 시간을 측정한다.- ALARM : 특정 시간에 알람을 발생시킨다.MODE1,2를 구현하기 위해 MOORE MACHINE 순차 회로를 구성한다. 각 MODE는 하나의 상태를 갖는다.** MODE_GEN의 상태표STATEMODE1MODE2INCREASE (SET=1)SW1TIME(00)SW2일반모드0000SET일반모드0시간설정01시간 증가1분 설정10분 증가1DATE(01)SW2일반모드0100SET일반모드0월 설정01월 증가1일 설정10일 증가1TIMER(10)SW2일반모드1000SET일반모드0START01START0STOP10STOP0ALARM(11)SW2일반모드1100SET일반모드0시간설정01시간 증가1분 설정10분 증가1State 값은 상승 에지에서 SW1 이 ON 될 때마다 MODE1은 TIME - DATA - TIMER - ALARM 의 순서로 순환하게 된다. SW1 이 매번 ON 될 때에는 MODE2 는 “00”으로 초기화 되며 SW2 가 ON 될 때마다 “00”- “01” - “10”으로 순환하는 값을 가지게 된다.INCREASE 의 값은 상승 에지에서 검사된 SET 값을 통해 하강 에지에서 갱신하게 된다. 상승에지에서 SET의 값이 1이고 각 MODE 의 일반모드에서 INCREASE는 0의 값을 갖고 TIMER 모드인 경우에도 무조건 0 을 갖는다. 그 이외의 모드에서는 1의 값을 갖는다. INCREASE의 값은 1CLOCK동안만 유지된다.** MODE_GEN의 STATE DIAGRAM위의 표의 값을 그림으로 나타낸 것이다. 입력 SW1, SW2로 인해 각 상태(MODE1, MODE2)가 바뀐다.3. Sources & Results1) VHDL Source (MODE_GEN.vhd)--librarylibrary IEEE;---- Uncomment the following library declaration if instantiating---- any Xilinx primitives in this code.--library UNISIM;--use UNISIM.VComponents.all;--entity : 입력 출력 port 선언entity MODE_GEN isport ( CLK, SW1, SW2, SET : in bit;MODE1, MODE2 : out bit_vector(1 downto 0);INCREASE : out bit );end MODE_GEN;--architecturearchitecture Behavioral of MODE_GEN is-- 상승 에지에서 SET 을 검사하고 하강 에지에서 그를 통해 INCREASE 를 갱신하기 위한 SINGALsignal SIG_SET : bit;-- mode1의 상태를 나타내는 내부 signal, 초기값="00"signal STATE1 : bit_vector(1 downto 0) := "00";-- mode2의 상태를 나타내는 내부 signal, 초기값="00"signal STATE2 : bit_vector(1 downto 0) := "00";begin-- mode1에 state1의 값을 할당MODE1
    공학/기술| 2011.06.06| 8페이지| 1,500원| 조회(218)
    미리보기
  • 4-bit Right Shift Register
    과 목 :과 제 명 :담당교수 :학 과 :학 년 :이 름 :학 번 :제 출 일 : 2010. 4. 15. 목4-bit Right Shift Register1. Purpose4 bit shift register의 동작원리와 기능을 이해한다. vhdl code안에서 process문과 if문이 어떻게 쓰이는지도 알아본다. ISE프로그램을 이용하여 4 bit right shift register를 코딩해보고 modelsim을 이용하여 wave 파형을 확인해본다.2. Problem statement① Describe what is the problem.4 bit shift register는 클럭(CLK)이 인가될 때 왼쪽 또는 오른쪽 방향으로 데이터를 쉬프트 하는 것인데 이번 과제는 right shift register이므로 데이터를 오른쪽 방향으로 쉬프트 하는 vhdl 코드를 설계한다.② Describe how do you solve the problem.4bit right shift 이므로 입력값 SI를 줄 때마다 데이터가 한비트씩 오른쪽으로 이동을 해야 한다. 이 프로그램에서 port는 input (SI, CLK)과 output(SO)이 존재한다. 각 비트 사이의 중간 신호(4 bit 크기를 갖는 vector)를 선언해서 데이터를 하나씩 오른쪽으로 옮길 수 있도록 한다. process문을 사용하여 CLK가 변화할 때만 right shift 연산이 실행되도록 하며CLOCK은 riding edge에서 작동하도록 코딩한다(if문 사용).** entity_ is port~end / architecture_ is begin~end모든 vdhl코드들은 위와 같은 구조를 갖는다. entity의 port안에는 모듈의 input과 output을 type과 함께 선언한다. architecture에는 실행문이 들어간다.** rsr.vhdl1) signal 선언signal은 input, output이 아닌 중간 신호를 표현하기 위해 사용된다. 즉 포트와 소자들 사이의 신호를 표현한다. signal 역시 architecture 의 시작과 begin 사이에 선언된다.signal C : STD_LOGIC_VECTOR(3 DOWNTO 0);- signal C는 처음 입력 SI와 shift된 데이터들이 저장되는 공간이다. C의 데이터들의 값이 차례로 SO에 전달된다.2) Right Shift 연산입력신호 (SI)와 출력신호(SO)의 관계를 보여준다.SO SO);-- clock을 설정해줌 / clk의 주기 :20nsclk
    공학/기술| 2011.06.06| 9페이지| 1,500원| 조회(523)
    미리보기
  • dsp플젝
    1. Executive Summary1) 과제의 목적sampling theorem을 이해하고 함수를 sampling 한 뒤 푸리에 변환을 시켜본다. matlab을 통하여 sampling과 푸리에 변환을 직접 구현해보고 함수의 time domain과 frequency domain에서의 spectrum을 확인해본다.2) approach① Nyquist sampling theorem샘플링(Sampling) 법칙에 의하면 샘플링 주파수 fs 는 신호의 최대주파수 성분의 두 배 이상이 되어야 한다. 이는 fs/2 이상의 주파수 성분에서는 중첩 (Folding) 현상이 발생하여 앨리어싱(Aliasing) 현상이 발생하기 때문이며, 이때 fs/2를 중첩(Folding) 주파수 또는 나이키스트 주파수라 부른다.② 고속 푸리에 변환(fft)푸리에변환에 근거하여 근사공식을 이용한 이산푸리에변환(discrete Fourier transform)을 계산할 때 연산횟수를 줄일 수 있도록 고안된 알고리즘이다. hm(0≤m≤N-1)이 복소수들의 집합일 때, 수열 {hm}의 이산푸리에변환은 다음과 같다.③ 문제의 접근sampling을 하기 위해서는 먼저 x(t)의 최대 주파수를 찾고 Nyquist 주파수를 찾아야 한다. 그 다음 Nyquist 주파수보다 큰 sampling 주파수로 sampling을 해서 signal A를 만들어 내고 Nyquist 주파수보다 작은 sampling 주파수로 sampling을 해서 signal B를 만들어 낸다. time-domain에서 signal A와 signal B의 그래프를 그려본 후 fft함수를 이용해서 푸리에 변환을 구해본다. 이때, 원래 signal에 256개의 zero를 덧붙여서(rectangular window) 푸리에 변환을 하게 된다. 다음으로 hamming window와 blackman window를 이용해서 512개의 point를 만들어 낸 후 signal A와 B에 적용하여 signal C, D를 만들어 낸다. 마지막으로 생성해 낸 할지 난감했었다. 하지만 과제에 나온 reference를 통해 시행착오를 겪으면서 해결해 나갈 수 있었다. 프로젝트를 하면서 nyquist frequency와 sampling에 대해서 자세하게 생각해볼 수 있었다. 또한 matlab으로 fft함수와 fftshift를 사용해서 signal을 주파수 영역에서의 그래프를 구현해볼 수 있었다. 그리고 hamming window와 blackman window를 wvtool을 이용해서 자세히 알아 볼 수 있었다.2. 본론1) Sample the signal with a sampling frequency higher than the Nyquist frequency. Call this Signal A.→ 원래 signal의 주파수가 18Hz이었기 때문에 Nyquist frequency는 원래 주파수의 2배(36Hz)이므로 x(t)를 36Hz보다 더 큰 sampling 주파수를 갖도록 sampling한다. 여기서로 설정하였다.2) Sample the signal with a sampling frequency lower than the Nyquist frequency. Call this Signal B.→ Nyquist frequency가 36Hz이므로 x(t)를 36Hz보다 더 작은 sampling 주파수를 갖도록 sampling한다.로 설정하였다.3) Use subplot to plot signal A and signal B together on the same graph.→ signal A와 B는 x(t)를 각각 72Hz, 18Hz로 sampling한 함수들이다. 따라서 sampling을 하기 위해서는( n은 정수) 이지만,으로 놓고 n 자체를로 나누어서 sampling을 하였다. 먼저 signal A&B의 sampling 주파수를 선언해주고 n의 범위를로 나눈 값을 선언해준다. 그 다음 signal A&B를 선언해주는데, 각각의 t대신 n1,n2를 넣어준다.(x1=exp(-0.25*n1).*cos(8*pi*n1)+exp(5*n1).*cos(8*pi*n1)+exp(-0.5*n1).*cos(10*pi*n1)+exp(-n1).*cos(36*pi*n1);% signal bx2= exp(-0.25*n2).*cos(8*pi*n2)+exp(-0.5*n2).*cos(10*pi*n2)+exp(-n2).*cos(36*pi*n2);subplot(1,2,1); % signal a's plotstem(n1,x1),xlabel('time(sec)'), ylabel('signal a') , axis([-18/fs1 18/fs1 -3 3])subplot(1,2,2); % signal b's plotstem(n2,x2), xlabel('time(sec)'), ylabel('signal b'), axis([-9/fs2 9/fs2 -1.5 3])각각 72Hz와 18Hz로 sampling 된 신호임을 알 수 있다.4) Use the Matlab command fft to obtain the spectra of signals A and B. Use 512 samples in fft. Try the same thing using 512 samples from a signal appended by 256 zeros at the end. Plot the amplitude of these spectra on the same graph. On your plots, scale the frequency axis appropriately so that the correct linear frequencies can be easily seen.→ sampling한 신호를 주파수 영역에 나타내기 위해서 fft를 사용한다. 문제에서 나온 것과 같이 256 zeros를 덧붙인 신호를 만들기 위해서 fft 함수를 사용할 때 Af = fft(a,512) 와 같이 사용한다. 먼저 sampling을 512개를 하여 fft를 구한다. 그 다음 sampling을 256개만 하여 나온 sequence를 fft함수에 넣어서 256개의 0을 덧붙이고 개의 samplea=exp(-0.25*n1).*cos(8*pi*n1)+exp(-0.5*n1).*cos(10*pi*n1)+exp(-n1).*cos(36*pi*n1); % signal ab=exp(-0.25*n2).*cos(8*pi*n2)+exp(-0.5*n2).*cos(10*pi*n2)+exp(-n2).*cos(36*pi*n2);% signal bAf = fft(a); % signal a를 주파수 영역으로 표현한 것Bf = fft(b); % signal b를 주파수 영역으로 표현한 것subplot(1,2,1); % signal a's plotplot(f1, abs(fftshift(Af))),xlabel('f [Hz]'), ylabel('signal a')subplot(1,2,2); % signal b's plotplot(f2, abs(fftshift(Bf))), xlabel('f [Hz]'), ylabel('signal b')signal b는 샘플링 주파수가 나이퀴스트 주파수보다 작아서 에일리어싱이 일어났다.② sample 256개 후 512개 fft[Matlab source code]n1=(0:1:255)/fs1; % samplingn2=(0:1:255)/fs2; % samplingf=-0.5:1/512:0.5-1/512;f1= f*fs1; % 주파수 범위 설정f2= f*fs2; % 주파수 범위 설정a=exp(-0.25*n1).*cos(8*pi*n1)+exp(-0.5*n1).*cos(10*pi*n1)+exp(-n1).*cos(36*pi*n1);% signal ab=exp(-0.25*n2).*cos(8*pi*n2)+exp(-0.5*n2).*cos(10*pi*n2)+exp(-n2).*cos(36*pi*n2);% signal bAf = fft(a,512); % signal a를 주파수 영역으로 표현한 것Bf = fft(b,512); % signal b를 주파수 영역으로 표현한 것subplot(1,2,1); % signal a's plotplot(f1, abs(fft]T=512; % 512 point 생성 위한 상수wvtool(hamming(T))② Blackman window[Matlab source code]T=512; % 512 point 생성 위한 상수wvtool(blackman(T))6) Now apply those windows to the Signal A. Call them Signals C (after Hamming windowing) and D (after Blackman windowing).→ signal A와 signal B에 각각 hamming window와 blackman window로 얻은 값들을 곱해주어 signal C와 signal D를 생성한다.[Matlab source code]% signal cc= w1(:).*a(:); % signal a에 hamming window 적용% signal dd=w2(:).*a(:); % signal a에 blackman window 적용7) Now computer the spectra of Signals C and D, and plot the spectra of A, C, and D on the same graph.→ 앞에서 생성한 signal A, B, C, D를 subplot과 plot을 이용해서 그래프를 그린다. fftshift를 이용해서 각 푸리에 변환의 원점을 맞추어주고 그 절대값을 그래프로 그린다.signal A는 Nyquist 주파수보다 큰 주파수로 sampling한 신호이고 B는 Nyquist 주파수보다 작은 주파수로 sampling하였다. signal C는 hamming window를 통과한 signal A의 주파수영역의 그래프이고 signal D는 blackman window를 통과한 signal A의 그래프이다.signal B의 그래프는 샘플링 주파수가 나이퀴스트 주파수보다 작아서 에일리어싱이 발생하여서 제대로 된 그래프가 나오지 않았다. 더 작은 주파수 샘플링을 할수록 aliasing이 많이 일어날 것이다. hamming window2개
    공학/기술| 2011.06.06| 10페이지| 2,000원| 조회(162)
    태그 DSP
    미리보기
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 04월 18일 토요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
9:40 오전
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감