4.바이오산업 정책 추진방향전자정보통신공학부I. 최근의 바이오산업 동향□ BT산업은 IT혁명이후 세계경제를 선도할 대표적인 핵심전략산업으로 급속히 부상ㅇ ‘학문적(생명과학)?기술적(생명공학)’ 영역에서 ‘산업’차원으로 전환됨에 따라 국가경쟁력과 직결되는 핵심산업* 차세대 견인기술 조사(Economist誌, 01.12): IT(32%)-BT(20%)-ET(15%)-NT(5%) 순ㅇ 21세기 첨단산업중 가장 빠른 성장이 예상< ‘95~2005중 산업별 성장률 전망(%, 자료 : DRI) >BT산업반도체메카트로닉스신소재자동차항공기22.19.49.16.93.51.4ㅇ 인류 난제(건강?식량?환경 등) 해결과 직결되어 고부가가치 창출* 1g당 가격 : EPO(빈혈치료제) 67만달러, G-CSF(항암보조제) 54만달러, 인터페론(항암제) 5천달러 (부가가치 비중 : 60%)□ 금년초 인간유전체연구(HGP)의 조기 완성이후 Post Genome 시대의 시장선점 경쟁이 본격화ㅇ 기능유전체학?단백질체학 등이 첨단기술분야로 부각ㅇ IT?NT?ET 등과의 기술융합이 심화됨에 따라 BT산업의 영역이 확대되고 시장발전이 가속화- 세계시장규모(억불) : (’01)600→(’03)740→(‘08)1,250→(‘13)2,100* 제1의 물결 : 의약 → 제2의 물결 : 농업, 환경, 전자, 에너지, 해양 등 全산업* 기술융합 사례? BT + IT(BIT) → 생물정보학(Bioinformatics), 유전자분석 S/W?기기 등? BT + NT(BNT) → 바이오칩(DNA칩, 단백질칩), 나노바이오텍 등? BT + ET(BET) → 환경정화, 바이오에너지, 바이오레미디에이션 등□ 주요 선진국 동향< 미국 > 세계 바이오산업을 주도, 개발기술의 산업화 가속ㅇ NIH를 중심으로 HGP 결과를 활용한 신약개발 등 상업화에 주력* NIH 예산(‘02년) : 228억불(전년대비 15.8% 증, 연방 기초응용연구 예산의 46%)ㅇ 바이오산업 주요현황('01년)(단위 : 10억달러)연 도20012000‘917.4R&D 지출13.810.710.69전업기업 수1,3791,2731,3111,274고용인력174,000162,000155,000141,000* 자료 : Ernst & Young LLP, Biotechnology Industry Reports, ’98~2001< EU > 지난 1.23일 BT산업 육성 정책보고서 발표ㅇ 그 동안 지역별, 국가별 분산된 정책의 한계를 인식하고 EU차원의 통일된 정책방향을 정립* 정책보고서 : Life Sciences & Biotechnology - A Strategy for Europeㅇ BT기반강화, 공공부문의 적극적 역할, 국제적 접근, 효율적 이행 등 4개 전략하에 30개 행동계획(Action Plan) 제시* 행동계획 주요내용 : 인력양성 강화, ‘06년까지 EU공동의 연구지역 조성 등< 일본 > 정부주도로 실용화 전략 추진ㅇ 인간유전체 연구는 미국 등에 뒤져있지만 실용화에 중점- 특히 생물정보학, 단백질 구조기능해석, 신의료기술 등에 투자ㅇ 2010년 25조엔의 시장규모, 1,000개 벤처기업 창출 목표- 정부지원 : (‘01년)722억엔 → (’02년)892억엔(전년대비 24% 증)II. 우리의 바이오산업 현황□ 2000.10월 대통령주재로 범정부적 ?바이오산업 발전방안?을 수립함으로써 BT산업 발전의 기본 틀 마련ㅇ 2010년까지 선진국 수준의 BT산업 육성을 위해 기술개발과 산업화를 양대 軸으로 관계부처에서 정상 추진중ㅇ 지난해에는 바이오산업 발전방안을 바탕으로 인력양성 등 핵심과제 중심의 세부 추진전략을 수립?추진□ 시장 및 투자규모 등은 빠르게 성장하고 있으나, 아직 기술경쟁력이 취약하고 기술개발 성과를 산업화로 연계하기 위한 인프라도 부족ㅇ 국내 시장규모(억원) : (‘00년) 9,000 → (’01, 추정) 12,0001997199819992000내 수(억원)4,2465,0856,7019,000수 출(억원)3,0184,8154,5436,101수 입(억원)1,3851,7022,1143,306* 자료 : 생물 국내 바이오산업의 분야별 구성비 >ㅇ 정부 투자규모(2002) : 4,500억원(단위 : 억원)연도19941996199819*************2억원5361,2341,1151,6082,4623,2384,500- 정부 R&D예산 대비 BT분야 비중 : (‘98) 5% → (’01) 8%* 연평균 증가율(‘98~’01) : 정부 R&D 예산 19.4%, BT분야 46.0%* 그러나, 미국 1개 기업 수준보다 훨씬 적음- 미국 Amgen社 : 8.5억불/년, Genentech社 : 4.9억불/년- 2000년 기준으로 미국(20조원)의 약1/100, 일본(2조원)의 1/10 수준ㅇ 기술경쟁력 : 선진국의 60%(세계 14위)요소기술국내수준(선진국=100)기초기술유전자재조합기술85세포융합기술80단백질공학기술70생산기술발효기술90세포배양기술65생물공정기술65생물엔지니어링기술35신물질 창조기술신물질탄생기술25안정성평가기술30전 체 60* 기술경쟁력 순위 : ①미국 ②영국 ③일본 ④독일 ⑤프랑스 ⑬중국 ⑭한국□ BT산업은 지적 능력이 높은 우리의 여건에 적합하고, 선진국과의 격차가 적으므로,ㅇ 이러한 특성과 강점을 최대한 활용하여 차세대 성장동력으로 육성하는 것이 당면과제III. 바이오산업 정책 추진방향1. 추진 전략□ 기본방향◇ ?선택과 집중?을 통해 산업화 기반을 조기에 마련하여 바이오산업을 새로운 경제성장 엔진으로 정착◇ 바이오산업은 우리에게 적합한 분야이므로 국제경쟁력 확보시까지 정부의 역할을 강화□ 핵심과제산업화 기술개발 강화인프라 확충집적화 거점 확대글로벌 네트워크 구축ㅇ사업화 가능분야 대형 프로젝트 확대ㅇ기술융합 신기술분야 R&D 강화ㅇ우수 전문인력의 확보 및 활용ㅇ조기 산업화 지원 기반 확충ㅇ지역별 Bio-Cluster 조성 추진ㅇ전국적인 Bio-Network 구축ㅇ바이오벤처 해외진출 거점 마련ㅇ바이오벤처 성장 생태환경 조성2. 핵심 추진과제과제 1경쟁력있는 신기술 핵심분야 기술개발 확대□ 산업화 기초기술 및 응용기술개발 지원확대ㅇ 중장기 : 중기거점 및전달체 기술 개발(중기거점, 17억원)② DNA Chip 및 유전자전달체 기술개발(차세대, 38억원)③ 단백질 Chip 기술 개발(차세대, 15억원)④ 식물체 이용 고부가가치 단백질생산기술 개발(차세대, 20억원)* 금년에는 “동물세포 배양기술을 이용한 치료용 단백질 생산” 신규 추진ㅇ 단기 : 기능성화장품원료?식품소재 등 단기에 사업화가 가능한 과제□ 여건과 잠재력이 성숙된 기술융합분야 기술개발ㅇ BT?IT : 산업미생물 유전자 발현시스템, 아미노산 생산성 향상기술 등 6개 과제(‘01년 35억원 → ’02년 40억원)ㅇ BT?ET : 바이오가스?이산화탄소 고정화 유효이용기술 등 바이오에너지기술개발, 청정생산기술개발 등□ 핵심분야 기술개발체계를 구축하여 투자 집중 및 효율화ㅇ 10개 분야를 선정, ‘03년부터 단계적으로 민?관 공동 추진(‘03년 2개)* 기능성식품소재, 기능성효소, 아미노산, 산업용단백질소재, 산업미생물 등- 내년부터 지원되는 신규 지역진흥사업 R&D 예산(총규모 : ‘06년 까지 1,500억원)을 활용과제 2조기 산업화 지원 기반 확충□ BT 전문인력 양성ㅇ 大學운영 단기 재교육 프로그램을 연차적으로 확대 : (‘01) 1개(서울대, 산기반 3억원) → (’02) 3개(7억원) → (‘03) 5개ㅇ 금년부터 산업화에 필요한 전문 생산인력 양성 추진(4억원)ㅇ 산업현장 수요에 부응하는 인력양성을 위해 산?학 협동과정 ?학제적 교육과정 신설 및 확대, 대학원의 전문화?특성화, 해외 우수인력 활용 등의 지원 추진(‘03년 예산에 30억원 신청)□ 조기 산업화 지원 기반 조성ㅇ 산업화 초기 시장 선점을 위한 표준화 추진(산기반 4억원)- 금년에는 우선적으로 BT산업 표준산업분류, 용어 표준화, BT산업 표준화 Roadmap 및 지침 마련 추진ㅇ 생물의약품 개발 및 수출지원을 위한 ?생물산업기술실용화센터(cGMP 위탁생산공장)? 구축ㅇ ?유전자변형생물체의국가간이동등에관한법률(‘01.3월)? 시행령 ?시행규칙 제정 및 범국가적 바이오안전성 관리체계 변형 콩?옥수수 등 LMOs의 수출입 및 안전관리를 규정* 바이오안전성의정서 발표 : 50개국 비준일부터 90일후(2003년 상반기 전망)- 우리나라를 포함(‘00.9월)하여 110개국 서명, 스페인?노르웨이 등 18개국 비준* LMO 농산물 수입 현황(‘01년 추정치) : 1,571천톤(2.5억불), 콩-옥수수-면화 순* 국내 LMOs 개발 현황 : ‘86년부터 농진청 주도로 총 16개 작목 40종 개발중- 4~5년내 상용화 전망(제초제저항성 벼, 혈압상승억제 토마토, 바이러스저항성 감자 등)과제 3지역별 바이오 Cluster 본격 조성□ 바이오벤처지원센터(BVC)와 신규 지역진흥사업을 연계하여 권역별?지역별 특성화된 BT 집적지 조성ㅇ 8개 바이오벤처지원센터 : (‘01)81억원 → (’02)84억원* 강원(춘천시), 대전(생명연), 전북(생물센터), 전남(동신대), 경남(바이오21센터), 충북(영동대), 경북(상주대), 제주(제주대)* 금년부터 춘천 센터 지원 종료, 부산지역에 해양생물분야 지원센터 신설* 사업 성과(‘01년말) : 총 203개 업체 참여(입주기업 74, 관련기업 129)- 신규 창업 지원 : 57개, 벤처등록 지원 : 51개- ‘01년 매출 1,816억원, 수출 107억원, 투자유치 428억원ㅇ 지역진흥사업 : 11개사업(‘02~’06년간 2,458억원 지원)(단위 : 억원)지역사업명위치사업기간총사업비(국비)‘02년 국비대전바이오벤처타운대덕‘02-’06516 (370)77강원해양수산자원산업지원센터강릉‘02-’06392 (283)8바이오타운 조성춘천‘02-’06504 (292)30충북보건의료산업종합지원센터오송‘03-’06249 (174)-전통의약품개발지원센터제천‘03-’06235 (159)-충남동물자원사업화지원센터논산‘03-’0676 (50)-전남생물식품사업화지원센터나주‘02-’06421 (304)34생물농업산학공동연구센터화순‘02-’06231 (174)17경북생물건강산업사업화지원센터안동‘02-’06228 (138)13해양생명환경산업지
LAP-10. OCTAVE FILTEREncoding & Decoding◐ 보고서의 내용 ◑☞ Encoder 설계 : 음계 주파수 성분을 Filter를 통해 구현 ¶Encoding¶☞ Decoder 설계 : Octave band filter의 설계 ¶Decoding¶학번이름분반(조)제출일- 목 차 -★해당목차를 누르면 각 페이지로 이동합니다.★Ⅰ. 설계 목표3Ⅱ. 기본 이론3Ⅲ. Encoder 설계4Ⅳ. Decoder 설계5~6Ⅴ. Encoding 후와 Decoding 후의 신호 비교7Ⅵ. 결과 화면7Ⅶ. 설계에 쓰인 악보8Ⅷ. 고 찰8- 참 고 문 헌 -9Ⅰ. 설계 목표【목차】☞ Encoder 설계 : 음계 주파수 성분을 Filter를 통해 구현 ¶Encoding¶☞ Decoder 설계 : Octave band filter의 설계 ¶Decoding¶☞ ? MIDI음을 이용해 자신이 선택한 동요를 Matlab으로 구현? Octave band filter를 설계? 설계한 동요의 계이름을 decodingⅡ. 기본 이론【목차】① Encoding영상이나 음성과 같은 아날로그 신호를 디지털신호로 바꿔 주는 역할 (압축)② DecodingEncoding 작업에 의해 전환된 디지털 신호를 영상이나 음성으로 바꿔주는 역할 (압축해제)③ DTMF (Dual Tone Multi-Frequency), Touch-tone보통의 푸쉬버튼 전화기에서 숫자 정보를 송출하는 신호방식을 말하며, 두 개의 음성대역 주파수를 혼합하여 송출한다. 이는 전화기에서 교환기 쪽으로 다이얼링 하는 방식으로써 회전식 로터리 방식과 구별된다.? LPF (Low Pass Filter)저주파만 통과시키는 저역통과 필터? BPF (Band Pass Filter)특정 주파수 범위만 통과시키는 필터Ⅲ. Encoder 설계【목차】SOURCESpecgram & Plot%%%%-----------인코딩--------------%%%%%%%%----------Lab_6참고------------%%%%fs = 8000 ; %% sampling frequencydur1=0.5;%% 음들의 durationdur2=[0.5 0.5 0.5 0.5 0.5 0.5 1 0.5 0.5 0.5 0.5 0.5 0.5 1 0.5 0.5 0.5 0.5 0.5 0.5 1 0.5 0.5 0.5 0.5 0.5 0.5 1 0.5 0.5 0.5 0.5 0.5 0.5 1 0.5 0.5 0.5 0.5 0.5 0.5 1];%%클라리넷 소리 만듦[y1] = woodwenv(0.1, dur2, 0.05, fs);%% 0 ~ 0.5 범위를 y1의 개수만큼 같은간격 으로 나눔tt1 = linspace(0,dur1,length(y1));td = zeros(1,round(0.1*fs)); %%음과음사이의 delay%% 반짝반짝 작은별 keynotek=[-9 -9 -2 -2 0 0 -2 -4 -4 -5 -5 -7 -7 -9 -2 -2 -4 -4 -5 -5 -7 -2 -2 -4 -4 -5 -5 -7 -9 -9 -2 -2 0 0 -2 -4 -4 -5 -5 -7 -7 -9];ton=[-9 -7 -5 -4 -2 0 2 3];gunban=char('도','레','미','파','솔','라','시','도');octav=[]; %% octav를 빈행렬(0행렬)로 설정%% q = 1 2 3 4 5 6 7 8%% 여기서 length(k)는 벡터 k의 개수를 뜻함%% 즉, 차례대로 k(1)이면 -9, k(2)이면 -7이 들어간다.for q=1:length(k)Fo = 440*2^(k(q)/12);tt2 = 0:1/fs:dur2(q);z = cos(2*pi*Fo*tt2); %% FM신호octav = [octav,z,td];%% for문이 한 loop를 돌때마다 td만큼의 0행렬을 삽입해서 음과음사이에 delay를 준다endfigure(1)subplot(211)specgram(octav)subplot(212)plot(octav)결과 설명결과 각 음의 주파수의 높낮이를 나타낸 스펙트럼인 스펙그램과 plot을 보면 계이름 사이사이에 듀레이션이 잘 삽입되고 있는 것을 볼 수 있고 스펙그램 에서 보면 음의 장단이 잘 들어가고 있는 것을 확인할 수 있다.이번 실습에서는 mat 파일을 생성하지 않고 바로 디코딩에 들어간다.(실습자료ppt 확인결과 *.hwp or *.zip 이었다. 이는 mat파일 생성이 필수가 아니라는 것을 조교님께서 시사해 주신 것 같다.)ⅰ. Source & Screen shotⅣ. Decoder 설계 【목차】ⅰ. Source & Screen shotSOURCE%%%%---------------디코딩------------------%%%%%%%%--------------Lab_9참고----------------%%%%for n=1:length(ton)fcut(n)=440*2^(ton(n)/12);Z=cos(2*pi*fcut(n)*tt2);endL=200; %%필터계수(band pass filter)nfcut = length(fcut); %%fcut 갯수nn = 0:L-1; %%0부터 총 200개의 필터계수hw=hamming(L);bb = 2*pi*fcut./fs; %%필터 계수의 모양 결정ww = -pi:(pi/500):pi; %%변화폭 결정hh=[];for kk = 1:nfcut %%fcut개수만큼 반복hh1 = hw.*cos(bb(kk)*(nn-(L-1)/2)')/sum(hw/2);hh=[hh hh1];HH=freqz(hh(:,kk),1,ww);hh(:,kk) = hh(:,kk)/max(abs(HH));endsigxx = octav; %%원신호를 다른이름으로 저장Lx = length(sigxx); %%신호 개수Lz = round(0.01*fs); %%0.01*fs 한후 반올림setpoint = 0.02; %%미분시의 setpoint 설정bb= ones(1,Lz)/Lz; %%Lz점 평균기sigxx1 = sigxx(:)'/max(abs(sigxx)); %%음수값을 없앤다.sigxx2 = filter( bb, 1, abs(sigxx1) ); %%평균기에 통과 시켜 sigxx1의 값을 평탄하게 한다.sigxx3 = diff(sigxx2>setpoint); %%setpoint보다 크면1, 그렇지않으면0jkl = find(sigxx3~=0)'; %%sigxx3가 0이 아닌 부분을 find.if sigxx3(jkl(1))0, jkl = [jkl;Lx]; end %%조건에 부합하면 끝주파수 지정indx = [];while length(jkl)>1if jkl(2)>(jkl(1)+10*Lz)indx = [indx, jkl(1:2)]; %%indx지정endjkl(1:2) = []; %%벡터설정endnstart = indx(1,:); %%필터의 시작주파수를 1행으로nstop = indx(2,:); %%필터의 끝주파수를 2행으로octav = octav*(2/max(abs(octav)));kout = [ ];for kk=1:length(nstart) %%nstart개수만큼 실행x_seg = octav(nstart(kk):nstop(kk));for n = 1:length(hh(1,:))yy = conv(x_seg,hh(:,n)); %%컨벌루션ymax = max(abs(yy)); %%절대값 yy의 최대값sc(n) = ymax>1.9; %%n값에 따라 필터 확인end[cmax,ncol] = max(sc);kout = [kout, gunban(ncol,:)];endkoutsoundsc(octav)결과화면PLOT각 음계의 주파수가 큰 차이를 보이고 있지 않으므로 hamming 함수를 사용하지 않으면 가까운 부분의 주파수를 읽어 들여서 정확한 계이름이 표현 되지 않았다.hamming 함수를 사용함으로써 가까운 주파수도 각각의 음계에 따라 정확히 잡아 내는 것을 볼 수 있다.Ⅴ. Encoding 후와 Decoding 후의 신호 비교【목차】ⅰ. Source & Screen shotEncoding 후Decoding 후Encoding 한 신호와 Decoding 한 신호가 거의 완벽하게 같음을 알 수 있고,plot 창에서 보면 크기가 2배로 변한 것을 확인 할 수 있었다.Ⅵ. 결과화면【목차】ⅰ. Source & Screen shotPlot?sigxx1 = sigxx(:)'/max(abs(sigxx))☞ Encoding 했을 때와 같은 파형이다.?sigxx2 = filter(bb, 1, abs(sigxx1))☞ 필터 통과 후?sigxx3 = diff(sigxx2>setpoint)☞ 시작점과 끝점을 찾고, 신호부분과 delay 부분 을 나누어 주는 과정ⅶ. 설계에 쓰인 악보【목차】Ⅷ. 고 찰【목차】처음에 과제설명을 들었을 때는 과제가 너무 막연하게 느껴졌는데 보고서를 완성한 지금에 와서 다시 생각해보면 Lab_9에서 배운 내용과 Lab_10에서 배운 내용의 통합적 과제라는 것을 느낀다. 거기에다가 MIDI음에 대한 기본적인 지식까지 요구 하고 있어서 마지막으로 신호실습을 정리하기에 가장 최적화된 과제였다고 생각 한다. 처음에 코딩이 모두 끝났을 때 디코더의 결과 화면의 음계가 제대로 나오지 않아 한참을 고생했던 것이 기억에 남는다. 필터계수를 조금씩 바꿔가며 원래의 계이름을 찾아가는데 필터계수의 잘못된 이론적 개념파악으로 인해 많은 시간을 낭비했었다. 이 덕분에 이번기회에 필터계수와 필터에 관한 이론적 개념을 확실히 세울 수 있는 좋은 계기가 되었던 것 같다. 인코더 부분의 동요를 Matlab으로 구현 하는 부분에 있어서 Lab_5실습과제를 할 때 많은 아쉬움을 뒤로한 체 듀레이션 문제를 해결하지 못했었는데 이번 실습을 통해서 이 문제를 해결하게 되어 너무 뿌듯하다. 한 학기 동안 많은 양의 과제를 하면서 힘들기도 했지만 돌이켜보면 잃은 것 보다 얻은 것이 더 많은 한 학기 실습 이었던 것 같다. 마지막으로 한 학기 동안 성심을 다해 수업해 주신 소승대 조교님께 감사의 말씀 올립니다.
〔 “CLARINET” 도~시 음 만들기 〕학번이름분반(조)제출일- 목 차 -★해당목차를 누르면 각 페이지로 이동합니다.★- 보고서 내용, 인적사항, 목차 - 1Ⅰ. Source Code2Ⅱ. Screen shot3Ⅲ. Source Code(작은별)4Ⅳ. Screen shot(작은별)5Ⅴ. 고찰5- 참 고 문 헌 -6Ⅰ. Source Code 【목차】fsamp = 10000 ; % sampling frequencydur=0.5; % duration(이것으로 음의 길이를 조정할수 있다)Ts = 1 / fsamp ; % sampling 간격[y1, y2] = woodwenv(0.1, dur, 0.05, fsamp ); %클라리넷 소리 만듦tt = linspace(0,dur,length(y1)); % 0 ~ 0.5 범위를 y1의 개수만큼 같은간격 으로 나눠줌I=2*y1;k=[-9 -7 -5 -4 -2 0 2 3]; % 음계를 만들기 위한 아래 'Fo'에 각각 들어갈 수의 벡터열Z=[];for q=1:length(k) % q = 1 2 3 4 5 6 7 8% 여기서 length(k)는 벡터 k의 개수를 뜻함Fo=300*2^(k(q)/12) % 즉, 차례대로 k(1)이면 -9, k(2)이면 -7이 각각 들어간다.Fc=2*Fo; % 기본 주파수(Fo)에 얼마를 곱해주느냐에 따라 음을 높일 수도 있고Fm=3*Fo; % 낮힐 수도 있다.z=y1.*cos(2*pi*Fc*tt +(I.*cos(2*pi*Fm*tt))); % FM신호Z=[Z,z];endsoundsc(Z,fsamp)t=linspace(0,dur*length(k),length(Z)); % 각각의 음에 따른 변화를 더 자세히 보기위해% 시간축의 음의 개수 만큼 늘렸다 (0.5*7)subplot(2,1,1)plot(t,Z)xlabel('time'),ylabel('amplitude')subplot(2,1,2)specgram(Z,256,fsamp)Ⅱ. Screen shot 【목차】① 기본 클라리넷 음 8개가 합쳐져서 도~도 클라리넷 음이 형성 된 것을 알 수 있다.(신호 주기를 0.5초 로 설정)② 스펙트럼에서 보면 음이 하나씩 올라갈 때 마다 주파수가 올라감을 알 수 있다.Ⅲ. Source Code(작은별) 【목차】fsamp = 10000 ; % sampling frequencydur=[0.5 0.5 0.5 0.5 0.5 0.5 1 0.5 0.5 0.5 0.5 0.5 0.5 1 0.5 0.5 0.5 0.5 0.5 0.5 1 0.5 0.5 0.5 0.5 0.5 0.5 1 0.5 0.5 0.5 0.5 0.5 0.5 1 0.5 0.5 0.5 0.5 0.5 0.5 1]; % duration(이것으로 음의 길이를 조정할수 있다)Ts = 1 / fsamp ; % sampling 간격% 0 ~ 0.5 범위를 y1의 개수만큼 같은간격으로 나눠줌k=[0 0 7 7 9 9 7 5 5 4 4 2 2 0 7 7 5 5 4 4 2 7 7 5 5 4 4 2 0 0 7 7 9 9 7 5 5 4 4 2 2 0];% 음계를 만들기 위한 아래 'Fo'에 각각 들어갈 수의 벡터열Z=[];N=length(k);for ii=1:N;y1(ii,:) = woodwenv(0.1, dur, 0.05, fsamp );lle=length(y1);tt(ii,:) = linspace(0,dur(1,ii),lle);endfor q=1:N;Fo=300*2^(k(1,q)/12); % 즉, 차례대로 k(1)이면 -9, k(2)이면 -7이 각각 들어간다.I=2*y1;Fc=2*Fo; % 기본 주파수Fo에 얼마를 곱해주느냐에 따라 음을 높일수도 있고Fm=3*Fo; % 낮힐수도 있다.z=y1(q,:).*cos(2*pi*Fc*tt(q,:) +(I(q,:).*cos(2*pi*Fm*tt(q,:))));Z=[Z,z];endsoundsc(Z,fsamp)specgram(Z,1024,fsamp)Ⅳ. Screen shot(작은별) 【목차】Ⅴ. 고찰 【목차】이번 보고서를 쓰면서 for문에 대한 공부를 많이 한 것 같다. 프로그래밍의 기초이면서 가장 중요한 for문을 접해보고 연습해 봄으로써 많이 익숙해질 수 있었다. 또한 이제까지 MATLAB을 접하면서 개념적인 부분인 백터의 개념이 없었는데 이번과제를 수행하면서 백터의 개념 또한 잡는데 도움이 되었다. 이번 과제는 이전 과제들에 비해서 조금 수월하게 해결해 나갈 수 있었다. 이전 과제들보다 시간이 적게 걸려서 악보 만들기 에 도전해 보았다. 음을 넣는 것은 악보를 보고 피아노 건반을 생각하며 쉽게 할 수 있었지만 문제는 음의 길이를 조절하는 것이었다. for문을 두 개 돌려야 한다는 아이디어는 있었지만 어떻게 구현을 시켜야 할지 감이 오지 않았다. 조교 선생님을 찾아가 음의 길이를 조절하는 법을 배웠지만 생각처럼 쉽게 해결되지는 않았다. 배울 때 당시는 할 수 있을 것 같았는데 막상 집에 와서 아무리 고민을 해봐도 음의 길이가 늘어나야 하는 부분에 음의 길이가 늘어나지는 않고 원래음보다 주파수만 올라갔다. 이번에는 이 문제를 해결하지 못했지만 조금 더 깊게 생각해서 이 보고서가 아니라도 차후에 꼭 해결하고 싶다.- 참 고 문 헌 - 【목차】[1] 김창근 저, MATLAB 사용법과 그 응용, 교우사[2] 홍준희 역, 초보자를 위한 MATLAB, 대광서림[3] Duane Hanselman; Bruce Littlefield, (Mastering)MATLAB 7[4] 나상신 저, (MATLAB 기반) 디지털 신호와 시스템 실험, 브레인 코리아
〔 AM, FM, FADING, DIRECTION FINDING 〕- 목 차 -- 보고서 내용, 인적사항, 목차 - 1Ⅰ. 실습의 목표 2Ⅱ. 이론 요약 2~3(1) AM(Amplitude Modulation) 2(2) FM(Frequency Modulation) 2(3) Fading 2(4) Direction Finding 3Ⅲ. Source Code & Screen shot 3~11Ⅳ. Fading으로 인한 오류를 감소시키는 방법 12Ⅴ. 두 신호 X1과 X2를 입력받아 자동차의 위치를 알려주는 함수 작성 13Ⅵ. 고 찰 14- 참 고 문 헌 - 14Ⅰ. 실습의 목표(1) AM, FM, Fading, 방향 찾기 내용 요약해 보고 의미를 파악해 이론적인 내용을 이해한다.(2) Fading 으로 인한 오류를 감소시키는 방법을 알아본다.(3) 방향 찾기 에서 배운 내용을 활용하여 두 신호 X1, X2를 입력받아 자동차가 어디에 위치해 있는가를 알려주는 함수를 작성해 본다.Ⅱ. 이론 요약(1) AM(Amplitude Modulation)☞ AM변조 : 변복조 시스템을 논할 때 가장 기본이 되는 진폭변조 (AM)시스템은 구조가 간단하고 구현하기도 쉽기 때문에 여러 분야의 통신에 광범위하게 사용되어 왔다. AM은 신호파형이 변화하는 양을 높은 주파수의 반송파(carrier)의 조밀한 한 파장 단위 높낮이에 맞추어 실어 보내게 된다.☞ DSB(Double side band) : 일반적인 진폭변조 시스템(Conventional AM)의 경우, 신호파형이 원점을 중심으로 음과 양의 주파수로 나누어져 있다. 그래서 높은 주파수에 변조시키면 주파수 분포도와 같이 반송파 주파수를 기준으로 양쪽에 주파수 성분을 가지게 된다. 이러한 일반적인 AM 변조방식을 DSB(Double Side Band) AM이라고 한다.충전방전☞ AM복조(demodulation)AM을 복조(원래의 신호로 복원)하기 위해서는 위의 그림과 같은 회로를 연결하여 원신호(전송파)를 걸러 주어야한다. AM변조된 위상차와 지연시간차를 구하여 이것으로 방향 찾기를 하는 방법을 알 수 있다. 이 방법은 비행기의 위치나 항로등을 표시하는 레이더 등에도 응용 될 수 있다.Ⅲ. Source Code & Screen shot(1) AM(Amplitude Modulation)fs=5000; %전송파fc=75000; %반송파tt=0:1/(fc*50):3/fs; %시간벡터(주기를 50개의 구간으로 나누고 3주기를 보여준다)ws=2*pi*fs;wc=2*pi*fc;signal=5*cos(ws*tt); %보내고자 하는 원신호 (신호파)carry=cos(wc*tt); %신호를 옮겨주기 위한 반송파DSBM=signal.*carry; %Double side band Modulation (전송파반송파)AM=DSBM+10*carry; %AM신호subplot(2,2,1)plot(tt,signal)title('①신호파')subplot(2,2,2)plot(tt,carry),title('②반송파')subplot(2,2,3)plot(tt,DSBM),title('③DSB Modulation')subplot(2,2,4)plot(tt,AM)title('④Amplitude Modulation')① 신호파 graph 설명- 원래 보내고자 하는 신호 즉, 전송파이다. ② 반송파(carrier) graph 설명- 신호를 조밀한 한 파장 단위 높낮이에 맞추어 실어 보내는 역할을 하는 반송파이다. ③ DSB Modulation graph 설명- DSB 변조된 신호는 전송파와 반송파를 곱해준 것이다. 이것을 복조(demodulation)하기 위해서는즉 DSB 변조(modulation)한 것에 반송파를 곱해준 후 저역통과필터(low pass filter)를 통해 높은 주파수 성분을 걸러준다.④ Amplitude Modulation graph 설명- AM변조된 신호이다. 이것은 전송파와 반송파를 곱해준 값(DSB)에 다시 진폭이 10인 반송파를 더해준 것이다. 진폭10은 임의로 정해준 것인데, 이것은 원신호의 진폭보다 커야 한다주파수의 진폭을 가지는 신호(signalfm) graph 설명- 전송파 주파수의 진폭을 갖는 신호이다. 이는 주파수변조(FM)를 할 때 전송파의 주파수를 더해주기 위함 이다. 주파수는 전송파와 동일하다. ③ 반송파 설명- 말 그대로 신호를 실어 보내기 위한 반송파(carrier)이다. 실제 반송파는 이보다 훨씬 큰 고주파 성분이 많이 쓰이는데 여기서는 그래프를 알아보기 쉽게 하기위해 비교적 낮은 주파수인 3Khz로 설정해 보았다. ④ Frequency Modulation graph 설명- 전송파가 FM변조된 신호이다. 이는 원래의 캐리어 주파수에 전송파의 주파수의 크기를 시간에 의해 변동하는 값을 더해준 것인데, 그래프에서처럼 signalfm의 전압(ampltude)이 높을수록 주파수가 높아져서 파장이 조밀해지고, 그 반대로 전압이 낮을 때는 주파수가 낮아져서 파장이 넓어지는 것을 볼 수 있다. 여기서 진폭은 일정하다.(3) Fading① 정지상태 자동차의 수신파f=150e6; % 전송파의 주파수tt=0:1/(f*100):5/f; %시간벡터(주기를 100개의 구간으로 나누고 5주기를 보여준다)signal=cos(2*pi*f*tt); % 전송파c = 3e8; % 전파 속도x = 0; %xv = 100; 자동차 위치(정지 상태이기 이기 때문에 0으로 설정)y = j*1500; % 송신기(인공위성)의 위치z = 100+j*900; % 반사기(창학관)의 위치r = 1; % 반사율(전반사로 가정)Lxt=abs(x+y); % 수신기(자동차)와 송신기(인공위성)와의 거리Lxr=abs(x-z)+abs(y-z); % 수신기(자동차)와 반사기(창학관)와의 거리dlt=xt/c; % 송신기(인공위성)와의 딜레이 시간 : 시간 = 거리 / 속도dlr=xr/c; % 반사기(창학관)와의 딜레이 시간signalt=cos(2*pi*f*(tt-dlt)); % 전송 시그널signalr=r*cos(2*pi*f*(tt-dlr)); % 반사 시그널signalm=signalt+signalr; % 수신고 전송파와 그래프가 거의 비슷한 것을 알 수 있다.⑤ 수신파 graph 설명- 수신되는 전파는 전송파와 반사파를 합친 것인데 반사계수가 1이고 delay시간은 매우 작기 때문에 위상차가 거의 없고 기본신호에 비해 진폭이 두 배로 되는 것을 볼 수 있다.② 이동하는 자동차의 수신파c = 3e8; % 전파 속도xv = 0:0.01:300; % 자동차 위치(0에서 300까지 0.01의 간격으로 이동한다)dt = j*1500; % 송신기(인공위성) 위치dr = 100+j*900; % 반사기(창학관) 위치Gr = 1; % 반사율(전반사로 가정)fo = 150e6; % 신호주파수Lxt=abs(xv+dt); % 수신기(자동차)와 송신기(인공위성)와의 거리Lxr=abs(xv-dr)+abs(dt-dr); % 수신기(자동차)와 반사기(창학관)와의 거리dlt=Lxt/c; % 송신기(인공위성)와의 딜레이 시간dlr=Lxr/c; % 반사기(창학관)와의 딜레이 시간X_1 = exp(-j*2*pi*fo*dlt); % Direct Path SignalX_2 = Gr*exp(-j*2*pi*fo*dlr); % Reflected Path SignalX_v = (X_1) + (X_2); % 수신기(자동차)의 Signal : Direct Path Signal +Reflected Path Signalplot( xv,abs(X_v) )shggrid거리가 멀어질수록 신호 왜곡(감쇄)자동차가 이동 할 때는 수신기와 반사기의 거리가 변함에 따라서 딜레이시간이 변함으로전송파, 반송파 신호의 위상차로 인해 신호가 왜곡되기 때문에 자동차에 수신되는 수신파는불규칙 하게 된다.(4) Direction Findingfunction [x1, x2, theta] = fang(xx)d = 0.5; % 수신기 간의 거리 0.4mf=300; % 전송주파수v=350; % 음속y=100; % 수신기1의 높이 100mr1 = abs(j*y - xx); % 송신기와 수신기1의 거리(거리이므로 절대값을 취해준다)r2 = abs(j*파수ww=2*pi*ff;vo=340; % 음속yr=100; % 수신기1의 높이 100mxx=-300:0.1:300; % 자동차의 이동 경로 : yr 기준으로 왼쪽에서 오른쪽으로 이동(0.1이동할 때마다의 위치를 표시)[X1, X2, theta] = findaa(xx); % CODE1에서 나오는 X1, X2, theta의 값을 받는 함수%code1에서 구한 수신기1과 수신기2의 신호를 이용해서 두 신호의 사이각을 구한다.XZ=X1.*conj(X2); %[XZ] = angle{X1X2*}AZ=angle(XZ); % XZ의 값을 radian값으로 변경%CODE1에서 출력된 theta와 비교될 값을 구하는 과정tootheta=asin(vo/d*(AZ/ww)); % c/d *= (t1-t2) 의 식에서 (t1-t2)는 앞에서 정의된값이다. 이 식을 이용해을 구한다.toothetax=tootheta*(180/pi); %tootheta값을 radain에서 다시 degree로 바꿔주는 과정% 다음은 출력을 그래프로 비교 CODE1의 theta값과 CODE2의 tootheta값이 동일한지 확인해 보는 코딩이다.subplot(3,1,1)plot(xx,toothetax,'yo')subplot(3,1,2)plot(xx,theta,'b-')subplot(3,1,3)plot(xx,toothetax,'yo',xx,theta,'b--')shg %그래프 윈도우창을 앞으로 나오게 하는 함수Code2에서 출력된값의 그래프와 Code1에서 출력된값의 그래프가 일치하는 것을 확인 하였다.Ⅳ. Fading으로 인한 오류를 감소시키는 방법-다이버시티(diversity) : 각각의 채널이 독립적인 페이딩을 겪는다는 사실에 착안하여 전송기와 수신기 사이에 다수의 논리 채널을 만들고 각각의 채널에 정보의 일부분을 전송함으로써 에러를 줄일 수 있다. 이 기술은 가장 높은 에러율이 발생하는 것을 피하기 위해 전송을 여러 채널로 나누는 것이므로, 에러를 제거할 수는 없고 에러율을 낮출 수는 있다. 다이버시티로 0.4m
〔 MATLAB으로 사인꼴파형 다루기 〕학번06307345이름한 윤 성분반B 반제출일2007. 3. 11- 목 차 -- 보고서 내용, 인적사항, 목차 - 1Ⅰ. 실습의 목표 2Ⅱ. 실습 내용과 방법실습 3-(a) 2실습 3-(b) 2실습 3-(c) 3실습 3-(d) 3Ⅲ. Source Code 3Ⅳ. gtext 사용 방법[별첨] 4Ⅴ. Graph 스크린샷 5Ⅵ. 고 찰 5- 참 고 문 헌 - 6Ⅰ. 실습의 목표(1) help 명령을 이용하여, 기본적인 MATLAB 명령과 문법을 익힌다.f = 4000; % 사인꼴 파형의 주파수는 4000HzT = 1/f; % 주기는 주파수분의 1tt=-T:t/25:T; % 백터tt를 생성하는데 범위는 -T~+T, 사인파의 주기당 25개의 샘플을 넣는다(2) 실습자가 MATLAB으로 프로그램 파일을 작성하고 편집한 다음, 그것을 명령어(사용자가 정의한 M-파일 함수)로써 실행시키는 방법을 배운다(3) 벡터화 등과 같이 MATLAB응용 프로그램 작성 기법에 대하여 좀더 학습한다.ao=26; % A1의 변수를 선언한다 (26은 작성자의 나이)at=1.2*ao; % A2의 변수를 선언한다tmo=(37.2/11)*T; % Tm1의 변수를 선언한다 (11은 작성자의 생일달)tmt=-(41.3/19)*T; % Tm2의 변수를 선언한다 (19는 작성자의 생일날)xo=ao*cos(2*pi*f*(tt-tmo)); %첫번째 사인꼴 파형의 식xt=at*cos(2*pi*f*(tt - tmt)); %두번째 사인꼴 파형의 식subplot(3,1,1); % 그림창을 3 X 1 의 행렬인 그림창으로 나누고 1번째 구획에 다음 그래프를 나 타낸다plot(tt,xo,'b-'), grid on % 백터 tt의 시간동안 xx의 사인꼴파형을 파랑색실선으로 나타낸다(격 자포함)subplot(3,1,2); % 그림창을 3 X 1 의 행렬인 그림창으로 나누고 2번째 구획에 다음 그래프를 나 타낸다plot(tt,xt,'r-'), grid on % 백터 tt의 시간동안 yy의 사인꼴파형을 빨강색실선으로 나타낸다(격 자포함)Ⅱ. 실습 내용과 방법< 실 습 내 용 >실습 3-(a) : 문제 지문 생략실습 3-(b) : 문제 지문 생략실습 3-(c): 문제 지문 생략sum=xx+yy; % xx+yy 로된 합 신호subplot(3,1,3); % 그림창을 3 X 1 의 행렬인 그림창으로 나누고 3번째 구획에 다음 그래프를 나 타낸다plot(tt,sum,'g-'), grid on % 백터 tt의 시간동안 sum의 사인꼴파형을 초록색실선으로 나타낸다 (격자포함)실습 3-(d): 문제 지문 생략title('first signal'); % graph title 를 first signal 로 명한다title('second signal'); % graph title 를 second signal 로 명한다title('total signal'); % graph title 를 total signal 로 명한다gtext('한 윤 성'); % 작성자의 이름을 어느한곳에 넣는다Ⅲ. Source Codef = 4000 ; % 사인꼴 파형의 주파수는 4000HzT = 1/f ; % 주기는 주파수분의 1tt = -T : t/25 : T ; % 백터tt를 생성하는데 범위는 -T~+T, 사인파의 주기당 25개의 샘플을 넣는다ao = 26 ; % A1의 변수를 선언한다 (26은 작성자의 나이)at = 1.2 * ao ; % A2의 변수를 선언한다tmo = (37.2/11) * T ; % Tm1의 변수를 선언한다 (11은 작성자의 생일달)tmt = -(41.3/19) * T ; % Tm2의 변수를 선언한다 (19는 작성자의 생일날)xo = ao * cos(2 * pi * f * (tt - tmo)) ; %첫번째 사인꼴 파형의 식xt = at * cos(2 * pi * f * (tt - tmt)) ; %두번째 사인꼴 파형의 식sum = xo + xt ; % xo+xt 로된 합 신호subplot(3,1,1); % 그림창을 3 X 1 의 행렬인 그림창으로 나누고 1번째 구획에 다음 그래프를 나타낸다plot(tt,xo,'b-'), grid on % 백터 tt의 시간동안 xx의 사인꼴파형을 파랑색실선으로 나타낸다(격자포함)title('first signal'); % graph title 를 first signal 로 명한다subplot(3,1,2); % 그림창을 3 X 1 의 행렬인 그림창으로 나누고 2번째 구획에 다음 그래프를 나타낸다plot(tt,xt,'r-'), grid on % 백터 tt의 시간동안 yy의 사인꼴파형을 빨강색실선으로 나타낸다(격자포함)title('second signal'); % graph title 를 second signal 로 명한다subplot(3,1,3); % 그림창을 3 X 1 의 행렬인 그림창으로 나누고 3번째 구획에 다음 그래프를 나타낸다plot(tt,sum,'g-'), grid on % 백터 tt의 시간동안 sum의 사인꼴파형을 초록색실선으로 나타낸다(격자포함)title('total signal'); % graph title 를 total signal 로 명한다gtext('한 윤 성'); % 작성자의 이름을 어느한곳에 넣는다Ⅳ. gtext 사용방법 [별첨]① 소스코드에 gtext('넣고싶은 text'); 라는 소스를 삽입한다.② run 버튼을 누른다.③figure창에 위치를 지정할 수 있는 십자모양의 커서가 나타난다④원하는 위치에 클릭을 하면 미리 입력 되었던 텍스트가 지정한 위치에 삽입된다.Ⅴ. Graph 스크린샷① first signal graph 설명- 첫 번째 그래프는을 나타낸 그래프이다.② second signal graph 설명- 두 번째 그래프는을 나타낸 그래프이다.③ total signal graph 설명- 세 번째 그래프는를 나타낸 그래프이다.Ⅵ. 고 찰MATLAB을 사용해서 4Khz의 사인꼴 파형 두 개를 그려보고 그 값들을 합쳐 보았다. 처음에는 문제의 25개의 샘플로 나누라는 말이 이해가 안 되었지만 조교선생님의 설명을 듣고 tt = -T : t/25 : T 라는 소스를 작성 할 수 있었다. 그리고 gtext를 쓸 때 ‘’