grid on;
¸½Îļþ2£º
bt=0; %¿ªÊ¼Ê±¼ä dt=0.01; %ʱ¼ä¼ä¸ô
N=4096; %¸µÁ¢Ò¶±ä»»µãÊý et=bt+N*dt-dt; %½áÊøÊ±¼ä t=bt:dt:et; %ʱ¼äÓò
TT=et-bt; %×ܵÄʱ¼ä nt=-TT/2:dt:TT/2;
y = sin(2*pi*10*t); %´ý·ÖÎöµÄÐźŠdf=1/TT; %ƵÂʼä¸ô
Tf=N*df %·ÖÎöµÄƵ¿í f=-Tf/2+df:df:Tf/2; %ƵÂÊÓò figure(1);
subplot(3,2,1); plot(t,y); title('ÐźÅ');
xlabel('ʱ¼ä(s)'); axis([0 2 -1.1 1.1]); grid on;
Y =fftshift(fft(y,N)); subplot(3,2,2); plot(f,abs(Y)); title('ƵÆ×');
xlabel('ƵÂÊ(Hz)');
axis([-30 30 min(abs(Y)) max(abs(Y))]); grid on;
y=sin(2*pi*10*t)+0.5*randn(1,length(t)); subplot(3,2,3); plot(t,y);
title('¼ÓÔëÐźÅ'); xlabel('ʱ¼ä(s)');
axis([0 2 min(y) max(y)]); grid on; Y =fft(y,N); subplot(3,2,4);
plot(f,abs(fftshift(Y))); title('¼ÓÔëÆµÆ×'); xlabel('ƵÂÊ(Hz)');
axis([-30 30 min(abs(Y)) max(abs(Y))]); grid on;
9
fs=10; B=2;
pf=zeros(1,length(f));
pf(length(f)/2+round((fs-B)/df):length(f)/2+round((fs+B)/df))=1; pf(length(f)/2-round((fs+B)/df):length(f)/2-round((fs-B)/df))=1; Y=Y.*fftshift(pf); y=ifft(Y); subplot(3,2,5); plot(t,real(y)); title('È¥ÔëÐźÅ'); xlabel('ʱ¼ä(s)');
axis([0 2 min(real(y)) max(real(y))]); grid on;
subplot(3,2,6);
plot(f,abs(fftshift(Y))); title('È¥ÔëÆµÆ×'); xlabel('ƵÂÊ(Hz)');
axis([-30 30 min(abs(Y)) max(abs(Y))]); grid on;
¸½Îļþ3£º m=1;
n=10000;
a=rand(m,n); %²úÉún¡ÁmµÄ¾ùÔÈ·Ö²¼µÄËæ»úÊý for i=1:length(a)
if a(i)>0.5 b(i)=1; %²úÉúm¡ÁmµÄË«¼«ÐÔÐźŠelse b(i)=-1; end; end;
S=1; %ÐźŹ¦ÂÊ snr=-8:2:8 %ÐÅÔë±È(dB) SNR=exp(snr*log(10)/10); for l=1:length(snr)
N=S/SNR(l); %ÔëÉù¹¦ÂÊ rk=b+sqrt(N)*randn(m,n); %¼ÓÉϸß˹°×ÔëÉù
dec=sign(rk); %Åоö£¬´óÓÚ0ÅÐΪ1£¬Ð¡ÓÚ0ÅÐΪ-1 err(l)=sum(abs(dec-b)/2)/length(b); %¼ÆËã×ܵÄÎóÂëÂÊ end;
semilogy(snr,err,snr,err,'+'); title('ÎóÂëÂÊ');
xlabel('ÐÅÔë±È(dB)'); ylabel('ÎóÂëÂÊ');
10
11

