1. Trang chủ
  2. » Cao đẳng - Đại học

Bài tập lớn : XỬ LÝ SỐ TÍN HIỆU

29 539 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 427,1 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ta đặt tên hàm mới này thành new_conv.Hàm này sử dụng kĩ thuật overlap-save.Chia tín hiệu dài thànhnhiều khối nhỏ.Sử dung fft để tính đầu ra .chỉ lấy L điểm cuối của mỗi khối.Đoạn chương

Trang 1

Họ Tên : Nguyễn Kim Thành

MSSV : 20083484

Lớp : Kỹ Thuật Đo – K53

Bài tập lớn : XỬ LÝ SỐ TÍN HIỆU

Project 5: HIGH-SPEED CONVOLUTION

EXERCISE 5.1:FFT conv Function

1.Viết lại hàm conv sử dụng thuật toán overlap-save

Ta đặt tên hàm mới này thành new_conv.Hàm này sử dụng kĩ thuật overlap-save.Chia tín hiệu dài thànhnhiều khối nhỏ.Sử dung fft để tính đầu ra chỉ lấy L điểm cuối của mỗi khối.Đoạn chương trình viết trên MATLAB như sau:

%Đầu vào là 2 tín hiệu cần nhân chập và chiều dài của FFT ta sẽ sử dụng

%Đầu ra là tín hiệu y là chập tuyến tính cần tìm

Trang 2

Ta cũng có thể dung kĩ thuật overlap-add để tính nhân châp.Kĩ thuât này sẽ lấy L điểm đầu.

%Đầu vào là 2 tín hiệu cần nhân chập và chiều dài của FFT ta sẽ sử dụng

%Đầu ra là tín hiệu y là chập tuyến tính cần tìm

N = 2.^(ceil(log(N)/log(2))); % Đưa N thành lũy thừa của 2

L = N- nb + 1; %Chiều dài của khối chập

Trang 3

%%Kết quả hài hàm trên giống nhau.

EXERCISE 5.2:Crossover Point

A,B,C.

Ta khởi tạo 2 tín hiệu ngẫu nhiên có chiều dài biến thiên trong khoảng từ 80 đến 800.Khoảng này

có thể thay đổi tùy theo tốc độ của máy tính.Chương trình thử nghiệm đo tốc độ của hàm new_conv ta vừa viết với hàm conv của MATLAB như sau:

for i=80:800

x=1.8e+20*randn(1,i)+7*j; % tạo tín hiệu ngẫu nhiên x

y=1.8e+20*randn(1,i)+8*j; % Tạo tín hiệu ngẫu nhiên y

tic;conv(x,y);t1(i-79)=toc; %Tính thời gian của hàm conv

tic;new_conv(x,y);t2(i-79)=toc; %Tính thời gian của hàm new_ conv

end;

Trang 4

D.Vẽ đồ thị thời gian thự hiện 2 hàm để xác định lúc nào thì hàm ta mới viết tỏ ra hiệu quả

n=80:800;

>> plot(n,10000*t1,n,10000*t2);

Nhìn trên đồ thị ta thấy 2 đồ thị cắt nhau tại những điểm là lũy thừa của 2(các điểm cắt là tại

N=128,256,512.Khi chiều dài của tín hiệu gần đến lũy thừa của 2 thì thời gian tính toán tăng đột

ngột.Nhưng khi đến lũy thừa của 2 thì thời gian tinh toán giảm đến mưc thấp nhất.Vì vậy tại những độ dàinhỏ hàm conv thì nhanh nhưng với những độ dài lớn thì hàm new_conv tỏ ra nhanh hơn rõ rệt

E.Kiểm tra với đầu vào là tín hiệu thực.

Nếu đầu vào là tín hiệu thực thì DFT của chúng là một tín hiệu liên hợp đối xứng Chính vì vậy để tính IFFT nhanh hơn ta có thể mặc định tín hiệu vào là ‘symmetric’.Một chỉnh sửa nhỏ của hàm new_conv ta được 1 hàm mới Đặt tên hàm này là new_conv2

Đoạn code trên MATLAB như sau:

%%%%%%%%%%%%%%

%Đầu vào là 2 tín hiệu cần nhân chập và chiều dài của FFT ta sẽ sử dụng

%Đầu ra là tín hiệu y là chập tuyến tính cần tìm

Trang 6

EXERCISE 5.3:Compare with FIR Filtering

Trang 7

D.Vẽ 2 hàm thời gian thực hiện để so sánh tốc độ của chúng.

Ta sẽ viết tiếp đoạn chương trình đã viết ở phần C

%%%%%%%%%

Trang 8

t1 =

0.1321 0.0496 0.0345 0.0276 0.0340 0.0405 0.0358 0.0328 0.0435 0.0479 0.0675 0.0811

Trang 9

EXERCISE 3.1:Definition of Resolution

A.Khởi tạo và vẽ phổ biên độ với tần số thay đổi

Ta viết 1 vòng lặp để thay đổi tần số và quan sát phổ pha.Chương trình trên MATLAB như sau:

Trang 10

plot(n,abs(fft(y,64)));title('pho bien do cua y[n]');xlabel('n');

ylabel('A[n]');

end

Nhap w2=2

Trang 11

Nhap w2=1.5

Nhap w2=1.3

Trang 12

Nhap w2=1.2

Nhap w2=1.1

%%%%%%%%%

Trang 13

Ta nhận thấy khi ŒW giảm dần từ 1 xuống 0.1 thì 2 đỉnh dần tiến về nhau.khi ŒW=0.1 thì gần như ta chỉquan sát thấy 1 đỉnh.

Trang 14

Nhap w2=1.3

Nhap w2=1.1

Trang 15

Nhap w2=1.08

Nhap w2=1.05

Trang 16

Nhận thấy kết quả vẫn giống như phần A nhưng ŒW nhỏ nhất để 2 đỉnh hợp lại thành 1 giảm xuống còn ŒW=0.05

Trang 17

Nhap w2=1.3

Nhap w2=1.1

Trang 18

Nhap w2=1.04

Nhận thấy kết quả vẫn giống như phần A nhưng ŒW nhỏ nhất để 2 đỉnh hợp lại thành 1 giảm xuống còn ŒW=0.04

Tóm lại để phân biệt được các đỉnh thì ŒW ≥ 2π /L

EXERCISE 3.2:Peak Finding

A,B.Viết hàm Peak Finding

Hàm trên được viết trên MATLAB như sau:

Trang 19

end

%%%%%%%%%%

C.Kiểm tra hàm trên với cửa sổ chữ nhật

Chương trình trên MATLAB như sau:

Ta thử với tín hiệu hình sin y[n]

Columns 15 through 28

-27.0092 25.9882 -22.3081 16.1420 -7.9718 -1.4667 11.2715 -20.4830 28.2001 -33.6896 36.4741 -36.3885 33.5970 -28.5695

Columns 29 through 42

22.0192 -14.8106 7.8491 -1.9662 -2.1855 4.2128 -4.0296 1.8643 1.7736 -6.1625 10.4659-13.8443 15.5674 -15.1135

Columns 43 through 56

12.2413 7.0268 0.1404 8.6015 17.5069 25.9199 32.9315 37.7732 39.9115 39.1150 35.4821 29.4292 -21.6382 12.9721

Columns 57 through 64

Trang 22

EXERCISE 3.3:Measure Resolution

A.Hàm peak_finding ta vừa viết có thể trả về số lượng peak của tín hiệu.Ta có thể kiểm tra nó:

B.Viết 1 script khởi tạo tín hiệu và tính toán

Chương trình viết trên MATLAB như sau:

Trang 24

delta=0.03 Score=0 phantram

Nhận thấy khi ŒW tiến gần đến 4π /L=0.19 thì score =100%

Khi ŒW<2π /L=0.09 thì score tiến về 0%

Ta có thể chỉnh sửa script trên để không những tính điểm theo ŒW mà còn theo độ dài L của FFT(Tốt nhất là lấy L là lũy thừa của 2).Sau đó script này có thể vẽ đồ thị của score phụ thuộ ŒW và L.Đoạn scriptđược sửa lại như sau:

%%%%%%%%%%

function resolution1(s)

if (~strcmp(s,'chunhat'))&(~strcmp(s,'hamming'))&(~strcmp(s,'hanning'))

disp('Khong phai cua so.chi chon:chunhat,hamming,hanning');

Trang 26

delta=0.08 Score=30 phantram

Trang 27

delta=0.035 Score=0 phantram

D.kiểm tra với hàm cửa sổ hamming,hanning

Trang 28

delta=0.15 Score=80 phantramNhap delta=0.14

delta=0.14 Score=30 phantramNhap delta=0.13

delta=0.13 Score=40 phantramNhap delta=0.12

delta=0.12 Score=30 phantramNhap delta=0.11

delta=0.11 Score=20 phantramNhap delta=0.1

delta=0.1 Score=40 phantramNhap delta=0.09

delta=0.09 Score=0 phantramNhap delta=0.08

delta=0.08 Score=0 phantramNhap delta=1

Ngày đăng: 10/08/2016, 11:09

TỪ KHÓA LIÊN QUAN

w