O’zbekiston aloqa va axborotlashtirish qo’mita toshkent axborot texnologiyalari universiteti
Download 1.31 Mb. Pdf ko'rish
|
signallarga spektrial ishlov berishning tezkor algoritmlarining dasturiy kompleksini yaratish
Adabiyotlar ro’yxati 1. Karimov I.A. Bosh maqsadimiz – keng ko’lamli islohatlar va modernizasiya yo’lini qat’iyat bilan davom ettirish: 2012-yilda mamlakatimizni ijtimoiy-iqtisodiy rivojlantirish yakunlari hamda 2013-yilga mo’ljallangan iqtisodiy dasturning eng mihim ustivor yo’nalishlariga bag’ishlangan O’zbekiston Respublikasi VMning majlisidagi ma’ruza. –T.: O’zbekiston, 2013. -64 b. 2. O’zbekiston Respublikasi Prezidentining Axborotlashtirish sohasiga oid hujjatlari. http://lex.uz/pages/?sort_id=3985. 3. Oliy ta’lim me’yoriy-huquqiy hujjatlar to’plami. 1-2-tom. Toshkent, «Niso Poligraf» ShK bosmaxonasi, 2013. 4. Axborot va axborotlashtirishga oid normativ-huquqiy hujjatlar to’plami. //To’plovchilar: A.I.O’ralov, M.I.Ishbekov, D.S.Sa’dullayev. –Toshkent, “Adolat” nashriyoti, 2008. -464 b. 5. Aholini va hududlarni favqulotda vaziyatlardan himoyalash. O’quv qo’llanma. GSChS, Toshkent, 2003. 6. Hayot faoliyati xavfsizligi. A. Qudratov, T. G’aniyev va boshqalar. Toshkent, Aloqachi, 2005. 7. Оппенгейм А.В., Шафер Р.В. Цифровая обработка сигналов: Пер. с. Англ./ Под ред. С.Я. Шаца.-М.: Связь, 1979. - 416 с. 8.Уидроу Б., Стириз С. Адаптивная обработка сигналов: Пер. с англ- М.: Радио и связь, 1989.- 440 с. 9. Айфичер, Эммануил С., Джервис, Барри У. Цифровая обработка сигналов: Практический подход , 2-е издание.: Пер. с англ.- М.: Издательский дом «Вильямс», 2004. – 992 с. 10. Р. Богнера, А. Константинидиса. Введение в цифровую фильтрацию: Пер. с англ. – М.: Издательский дом «МИР», 1976 – 108 с. 11. Зверев В.А., Стомков А.А. Выделение сигналов из помех численными методоми. Нижний Новгород. ИПФ РАН, 2001. 188 с. 12. Лэй Э. Цифровая обработка сигналов для инженеров и технических специалистов: практическое руководство / Э. Лэй ; [перевод с англ.
63
ООО «Пропартнер», преводчик Соголюб Н.С.].- М.: ООО «Группа ИДТ», 2007.-336 с.: ил., табл. 13. Флеянов М.Е. «Библия Delphi.» – СПб.: БХB - Петербург, 2004. – 880 стр. 14. Сибаров К.Г., Сколотнев Н.Н., Васин В.К., Начинаев В.Н. Охрана труда в вычислительных центрах: учебное пособие, М.: Машиностроение, 1995. – 342 с. 15. Л.А.Залманзон. Преобразования Фурье, Уолша, Хаара и их применение в управлении, связи и других областях.М «Наука» Главная редакция Физико- Математической литературы.1989 16. www.it-ebooks.info (Elektron kitoblar bazasi) 17. http://www.dspa.ru (Цифровая оброботка сигналов Pоссийский науно- технический журнал) 18. http://www.intuit.ru (Интернет университет информационных технологий ) 19. http://www.ziyonet.uz (Axborot ta’lim qidiruv portali)
64
unit MainForm; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Spin, Grids, ExtCtrls, XPMan; type
TForm1 = class(TForm) sg: TStringGrid; sg2: TStringGrid; Panel1: TPanel; SpinEdit1: TSpinEdit; Button1: TButton; Button2: TButton; sgful: TStringGrid; CheckBox1: TCheckBox; RadioGroup1: TRadioGroup; XPManifest1: TXPManifest; procedure SpinEdit1Change(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure sgfulDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end;
type 65
TArrayValues = array of Double; var Form1: TForm1; implementation {$R *.dfm} const TwoPi = 6.283185307179586; procedure FFTAnalysis(var AVal, FTvl: TArrayValues; Nvl, Nft: Integer); var
i, j, n, m, Mmax, Istp: Integer; Tmpr, Tmpi, Wtmp, Theta: Double; Wpr, Wpi, Wr, Wi: Double; Tmvl: TArrayValues; begin n:= Nvl * 2; SetLength(Tmvl, n); for i:= 0 to Nvl-1 do begin j:= i * 2; Tmvl[j]:= 0; Tmvl[j+1]:= AVal[i]; end; i:= 1; j:= 1; while i < n do begin if j > i then begin Tmpr:= Tmvl[i]; Tmvl[i]:= Tmvl[j]; Tmvl[j]:= Tmpr; Tmpr:= Tmvl[i+1]; Tmvl[i+1]:= Tmvl[j+1]; Tmvl[j+1]:= Tmpr; end; i:= i + 2; m:= Nvl; while (m >= 2) and (j > m) do begin j:= j - m; m:= m div 2; end; j:= j + m; end;
66
Mmax:= 2; while n > Mmax do begin Theta:= -TwoPi / Mmax; Wpi:= Sin(Theta); Wtmp:= Sin(Theta / 2); Wpr:= Wtmp * Wtmp * 2; Istp:= Mmax * 2; Wr:= 1; Wi:= 0; m:= 1; while m < Mmax do begin i:= m; m:= m + 2; Tmpr:= Wr; Tmpi:= Wi; Wr:= Wr - Tmpr * Wpr - Tmpi * Wpi; Wi:= Wi + Tmpr * Wpi - Tmpi * Wpr; while i < n do begin j:= i + Mmax; Tmpr:= Wr * Tmvl[j] - Wi * Tmvl[j-1]; Tmpi:= Wi * Tmvl[j] + Wr * Tmvl[j-1]; Tmvl[j]:= Tmvl[i] - Tmpr; Tmvl[j-1]:= Tmvl[i-1] - Tmpi; Tmvl[i]:= Tmvl[i] + Tmpr; Tmvl[i-1]:= Tmvl[i-1] + Tmpi; i:= i + Istp; end; end; Mmax:= Istp; end; for i:= 1 to Nft-1 do begin j:= i * 2; FTvl[Nft - i - 1]:= Sqrt(Sqr(Tmvl[j]) + Sqr(Tmvl[j+1])); end;
SetLength(Tmvl, 0); end;
procedure TForm1.SpinEdit1Change(Sender: TObject); var
i,j:integer; begin
sg.ColCount:=round(exp(SpinEdit1.Value*ln(2))) +1; 67
sgful.rowCount:=round(exp(SpinEdit1.Value*ln(2))) +1; sgful.ColCount:=SpinEdit1.Value+1; for i:=1 to sg.ColCount-1 do sg.Cells[i,0]:=inttostr(random(10)); end; procedure TForm1.Button1Click(Sender: TObject); var AVal, FTvl: TArrayValues; Nvl, Nft,i,j,k,m: Integer; begin
nvl:=sg.ColCount-1; SetLength(aval,nvl+1); //nft:=strtoint(edit1.Text); nft:=nvl; SetLength(ftvl,nft+1); // aval[3]:=4; for i:=1 to nvl do aval[i-1]:=strtofloat(sg.Cells[i,0]); FFTAnalysis(AVal, FTvl, Nvl, Nft); sg2.ColCount:=nft+1; for i:=1 to nft do sg2.Cells[i,0]:=floattostr(ftvl[i-1]); end;
procedure TForm1.Button2Click(Sender: TObject); var
AVal, FTvl: TArrayValues; Nvl, Nft,i,j,k,m,ms,mf,t,l: Integer; begin //Fure
if RadioGroup1.ItemIndex=3 then begin
button1.Click; 68
exit; end; nvl:=sg.ColCount-1; SetLength(aval,nvl+1); SetLength(ftvl,nvl+1); for i:=1 to nvl do sgful.Cells[0,i]:=sg.Cells[i,0]; t:=nvl div 2; //ShowMessage(inttostr(t)); if RadioGroup1.ItemIndex=1 then for j:=0 to nvl div 4-1 do begin
i:=2*j+1; sgful.Cells[0,i]:=sg.Cells[i,0]; sgful.Cells[0,i+1]:=sg.Cells[t+i,0]; sgful.Cells[0,t+i]:=sg.Cells[i+1,0]; sgful.Cells[0,t+i+1]:=sg.Cells[t+i+1,0]; end;
for k:=1 to SpinEdit1.Value do begin
sgful.Cells[k,0]:='Qadam: '+inttostr(k); for i:=1 to nvl do aval[i-1]:=strtofloat(sgful.Cells[k-1,i]); m:= round(exp((k-1)*ln(2))); for j:=1 to m do //showmessage(inttostr(m)); t:=(nvl div m) ; ms:=(j-1)*t; mf:=j*t-1; //ShowMessage('m='+inttostr(t)+' ms='+inttostr(ms)+' mf='+inttostr(mf)); for i:=ms to (ms+mf) div 2 do
69
begin //ShowMessage('k='+inttostr(k)+' j='+inttostr(j)+' i='+inttostr(i)); FTvl[i]:=aval[i]+aval[i+t div 2]; FTvl[i+(t div 2)]:=aval[i]-aval[i+(t div 2)]; if (k=SpinEdit1.Value) and CheckBox1.Checked then begin FTvl[i]:=FTvl[i]/nvl; FTvl[i+(t div 2)]:=FTvl[i+(t div 2)]/nvl; end; sgful.Cells[k,i+(t div 2)+1]:=floattostr(FTvl[i+(t div 2)]); sgful.Cells[k,i+1]:=floattostr(FTvl[i]); //ShowMessage('a['+inttostr(i)+']='+floattostr(aval[i])+' : a['+inttostr(i+(t div 2))+']='+floattostr(aval[i+(t div 2)])); end; end;
end;
// for i:=1 to nvl do sgful.Cells[0,i]:='Vd['+inttostr(i)+']='+sg.Cells[i,0]; end; procedure TForm1.sgfulDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); var
AVal, FTvl: TArrayValues; Nvl, Nft,i,j,k,m,ms,mf,t,l: Integer; begin if (acol=sgful.ColCount-1)and(arow=sgful.RowCount-1) then begin nvl:=sg.ColCount-1; //k:=2; //i:=4; 70
// sgful.Canvas.Pen.Width:=2; sgful.Canvas.Pen.Color:=clGreen; for k:=1 to SpinEdit1.Value do begin m:= round(exp((k-1)*ln(2))); for j:=1 to m do begin
t:=(nvl div m) ; ms:=(j-1)*t; mf:=j*t-1; for i:=ms to (ms+mf) div 2 do begin // sgful.Canvas.MoveTo((k)*50+20,(i)*24+12); // sgful.Canvas.LineTo((k+1)*50,(i)*24+12); // sgful.Canvas.LineTo((k)*50+20,(i+(t div 2))*24+12); // sgful.Canvas.MoveTo((k)*50+20,(i+(t div 2))*24+12); //sgful.Canvas.LIneTo((k+1)*50+20,(i+(t div 2))*24+12); //ShowMessage('a['+inttostr(i)+']='+floattostr(aval[i])+' : a['+inttostr(i+(t div 2))+']='+floattostr(aval[i+(t div 2)])); end; end;
end; end;
end; procedure TForm1.FormCreate(Sender: TObject); begin sg.Cells[0,0]:='Входные данные (Vd[ ]): '; sg.ColWidths[0]:=150; sg2.Cells[0,0]:='Преобразование Фурье: '; sg2.ColWidths[0]:=150;
71
end. Download 1.31 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling