当前位置:文档之家› 数字信号处理课程设计.

数字信号处理课程设计.

数字信号处理课程设计.
数字信号处理课程设计.

河北科技大学

课程设计报告

学生姓名:张燚学号:090701232 专业班级:电子信息工程092班

课程名称:数字信号处理及应用

学年学期:2 0 1 1—2 0 1 2学年第一学期指导教师:王晓君

2 0 11年12月

课程设计成绩评定表

目录

一、设计题目 (4)

二、设计目的 (4)

1、DFT在信号频谱中的应用设计目的: (4)

2、双音多频拨号音频解码系统设计目的 (4)

三、设计原理 (4)

1、DFT在信号频谱中的应用设计原理 (4)

2、双音多频拨号音编解码系统设计原理 (4)

四、实现方法 (5)

1. DFT在信号频谱中的应用 (5)

2. 双音多频拨号音频解码系统 (5)

五、设计内容及要求 (6)

1、DFT在信号频谱分析中的应用 (6)

2、双音多频拨号音编解码系统 (8)

六、设计结果及改进建议 (21)

1. DFT在信号频谱分析中的应用 (21)

2. 双音多频拨号音编解码系统 (24)

七、回答思考题 (24)

1. DFT在信号频谱分析中的作用 (24)

2. 双音多频拨号音编解码系统 (25)

八、设计体会 (25)

九、参考文献 (26)

一、设计题目

我共选择了两个题目:DFT在信号频谱中的应用和双音多频拨号音频解码系统。

二、设计目的

1、DFT在信号频谱中的应用设计目的:

1.1熟悉DFT的性质。

1.2加深理解信号频谱的概念及性质。

2、双音多频拨号音频解码系统设计目的

本设计是一个综合设计,目的在于了解IIR系统、谱分析方法以及滤波器的设计和具体应用。

三、设计原理

1、DFT在信号频谱中的应用设计原理

1.1学习用DFT和补零DFT的方法来计算信号的频谱。

1.2用MATLAB语言编程来实现,在做课程设计前,必须充分预习课本

DTFT、DFT及补零DFT的有关概念,熟悉MATLAB语言,独立编写

程序。

2、双音多频拨号音编解码系统设计原理

一个双音多频电话机(DTMF, dual-tone multi-frequency touch-tone phone)可以对12个按键编码,每个码都是两个单频正弦之和。这两个单频正弦信号分别来自两个频率组,即列频率组(或称低频率群)与行频率组(或称高频率群),

它们与每个按键的对应关系如下表所示:

数字DTMF接收机通过接收到的双音信号的频谱,再现每个按键所对应的两个频率,从而确认被发送的电话号码。

四、实现方法

1.DFT在信号频谱中的应用

因直接计算DFT变换的运算量很大,因此常用快速傅里叶算法FFT代替DFT变换。此题目用到了Matlab中的FFT函数。

2.双音多频拨号音频解码系统

2.1双音多频信号的产生

假设时间连续的DTMF信号按表选择的两个频率,代表低频带中的一个频率,代表高频带中的一个频率。显然采用数字方法产生DTMF信号,方便而且体积小。

形成上面序列的方法有两种,即计算法和查表法。用计算法求正弦波的序列值很容易,但实际中要占用一些计算时间,影响运行速度。查表法是预先将正弦波的各序列值计算出来,寄存在存储器中,运行时只要按照顺序和一定的速度取出便可。这种方法要占用一定的存储空间,但是速度快。

2.2双音多频信号的检测

在接收端,要对收到的双音多频信号进行检测,检测两个正弦波的频率是多少,以判断所对应的十进制数字或者符号。显然这里仍然要用数字方法进行检测,因此要将收到的时间连续DTMF信号经过A/D变换,变成数字信号进行检测。检测的方法有两种,一种是用一组滤波器提取所关心的频率,根据有输出信号的

2个滤波器判断相应的数字或符号。另一种是用DFT(FFT)对双音多频信号进行频谱分析,由信号的幅度谱,判断信号的两个频率,最后确定相应的数字或符号。当检测的音频数目较少时,用滤波器组实现更合适。

此题目主要用到了Matlab中的FIR滤波器(fir2函数)、FFT函数。

五、设计内容及要求

1、DFT在信号频谱分析中的应用

1.1用MATLAB语言编写计算序列x(n)的N点DFT的m函数文件

DFTmatlab.m。并与MATLAB中的内部函数文件fft.m作比较。

DFTmatlab.m源程序如下:

function[q]=DFTmatlab(xn,N)

n=[0:1:N-1]; %n取0到N-1

k=[0:1:N-1];

WN=exp(-j*2*pi/N); %求WN

nk=n'*k;

WNnk=WN.^nk;

q=xn*WNnk %求出xn的DFT表达式

DFT与FFT计算时间比较的源程序:

dft_time=zeros(1,100);

for n=1:100;

t=clock;%clock %将当前时间作为日期向量返回

a=sin(n)+cos(n);

DFTmatlab(a,n);

dft_time(n)=etime(clock,t);%etime指消耗的时间

end;

n=1:100;

subplot(1,2,1);

plot(n,dft_time,'.'); %plot二维曲线图

xlabel('N');ylabel('time/s');

title('DFT');

fft_time=zeros(1,100);

for n=1:1:100;

t=clock;

a1=sin(n)+cos(n);

fft(a1);

fft_time(n)=etime(clock,t);

end; n=1:100;

subplot(1,2,2); plot(n,fft_time,'.');

xlabel('N');ylabel('time/s'); title('FFT');

1.2 . 对离散确定信号()cos(0.48)cos(0.52)x n n n ππ=+作如下谱分析: (1) 截取使成为有限长序列N( ),(长度N 自己选)写程序计算出 的N 点DFT ,

并画出相应的幅频图 。 源程序如下: n = 0:99;

xn=cos(0.48*pi*n)+cos(0.52*pi*n); Xk = fft (xn, 100);

subplot(2,1,1); stem(n, xn); grid;

subplot(2,1,2); stem(n, abs(Xk)); grid;

(2)截取使其成为N 点序列,补零加长至M 点(长度M 自己选),编写程序计算 的M 点DFT ,并画出相应的图 。 源程序如下:

n=0:19; xn=cos(0.48*pi*n)+cos(0.52*pi*n); n1=0:24; xn1 =[xn, zeros(1,5)]; n2=0:59; xn2 =[xn, zeros(1,40)]; Xk1=fft(xn1,25); Xk2=fft(xn2,60);

subplot(3,1,1); stem(n, xn); grid;

subplot(3,1,2); stem(n1, abs(Xk1)); grid; subplot(3,1,3); stem(n2, abs(Xk2)); grid;

(3) 利用补零DFT 计算N 点有限长序列频谱并画出相应的幅频图 。 源程序如下:

n = 0:9; xn=cos(0.48*pi*n)+cos(0.52*pi*n); n1 = 0:99; xn3 = [xn, zeros(1,90)]; Xk3 =DFTmatlab(xn3, 100); plot(n1, abs(Xk3)); grid;

1.3 研究高密度谱与高分辨率频谱。

对连续确定信号3

33()cos(2 6.510)

cos(2710)cos(2910)

a x t t t t πππ=??+??+??以采样频率fs=32kHz 对信号 采样得离散信号,分析下列三种情况的幅频特性。 (1) 采集数据长度取N=16点,编写程序计算出 的16点DFT ,并画出相应的幅频图。

源程序如下:

T=1/(32*10^3);

t=(0:15);

xn=cos(2*pi*6.5*10^3*t*T)+cos(2*pi*7*10^3*t*T)+cos(2*pi*9*10^3*t*T);

Xk=fft(xn,16);

subplot(2,1,1);stem(t,xn);grid;

subplot(2,1,2);stem(t,abs(Xk));grid;

(2)采集数据长度N=16点,补零加长至M点(长度M自己选),利用补零DFT

计算的频谱并画出相应的幅频图。

源程序如下:

T=1/(32*10^3);

t=(0:15);

xn=cos(2*pi*6.5*10^3*t*T)+cos(2*pi*7*10^3*t*T)+cos(2*pi*9*10^3*t*T);

n1=0:50; xn1=[xn,zeros(1,35)];

Xk1=fft(xn1,51);

subplot(2,1,1);stem(n1,xn1);grid;

subplot(2,1,2);plot(n1,abs(Xk1));grid;

(3) 采集数据长度取为M点(注意不是补零至M),编写程序计算出M点采集数据的的频谱并画出相应的幅频图。

源程序如下:

T=1/(32*10^3);

t=[0:50];

xn=cos(2*pi*6.5*10^3*t*T)+cos(2*pi*7*10^3*t*T)+cos(2*pi*9*10^3*t*T);

Xk2=fft(xn,51);

subplot(2,1,1);stem(t,xn);grid;

subplot(2,1,2);plot(t,abs(Xk2));grid;

2、双音多频拨号音编解码系统

2.1设计内容

数字DTMF接收机通过接收到的双音信号的频谱,再现每个按键所对应的两个频率,从而确认被发送的电话号码。

DTMF拨号音编解码系统的技术指标要求如下:

(1)采样频率:8kHz 。

(2)传输速率:10个数字/秒,或每个数字100ms。

(3)信号存在的时间t必须满足45ms≤t≤55ms,100ms里的其余时间是无声区。

(4)高频分量电平不能小于低频分量电平,且电平差不大于2dB±ldB。

(5)对于给定的拨号频率,允许的频率偏移为3%。

2.2编写程序:

(1)编写用IIR系统产生余弦振荡波形的函数way—gener.m。

源程序如下:

% wav_gener.m

function h = wav_gener(R,omega,N)

% w1 = 0; w2 = 0; delta = zeros(1,N); delta(1) = 1;

% k = R * cos(omega); h = zeros(1,N);

% for n = 1:N

% w0 = delta(n) + 2 * k * w1 -R^2 * w2;

% h(n) = w0 - k * w1; w2 = w1; w1 = w0;

% end

h=zeros(1,N);

for n=1:N

h(n)=R*cos(omega*n);

end

(2)编写产生DTMF信号的函数DTMF.m。

源程序如下:

%dtmf.m

function x = dtmf(key);

fs = 8000; N = 0.1 * fs; %信号时间为100ms,N=Tpmin * Fs ;Tpmin根据频率分辨率得到,DTMF信号的最小频率间隔为73HZ,故至少需要110点

R = 1; fl = 0; fh = 0;

switch key

case {'1','2','3'}

fl = 697;

case {'4','5','6'}

fl = 770;

case {'7','8','9'}

fl = 852;

case {'*','0','#'}

fl = 941;

end

switch key

case {'1','4','7','*'}

fh = 1209;

case {'2','5','8','0'}

fh = 1336;

case {'3','6','9','#'}

fh = 1477;

end

x = wav_gener(R,2*pi*fl/fs,N) + wav_gener(R,2*pi*fh/fs,N);

(3)编写带通滤波器函数。

低频滤波器源程序:

% FindLowerFreq.m

function number = FindLowerFreq(Signal)

Freq = [697,770,852,941]; temp = 0;

for n = 1:length(Freq)

Wo = Freq(n); B = DesignLowerFilter(Wo);%设计带通滤波器,中心频率分别为697Hz,770Hz,852Hz,941Hz,当n=1时,中心频率为697Hz Out = filter(B,1,Signal); %将要解码的某个拨号,比如‘1’所代表的DTMF信号,通过带通滤波器(n=1时,中心频率为697Hz),输出保存在Out中Fout = max(abs(fft(Out))) ; % 计算输出out幅频响应的最大值(n=1时,表示通过中心频率为697Hz的带通滤波器的最大幅频输出值)。

%循环4次就知道,DTMF信号在经过中心频率分别为697Hz,770Hz,852Hz,941Hz的带通滤波器时,

%最大幅频值是经过哪个带通滤波器得到的,则DTMF信号的低频值就是

哪一个。

if ( Fout > temp )

number = n; temp = Fout;

end

end

% DesignLowerFilter.m

function B = DesignLowerFilter(Wo)

fs = 8000; N = 400; k = 2*pi/fs; Bandwidth = 70; wc1 = ( Wo - Bandwidth / 2 ) * k;

wc2 = ( Wo + Bandwidth / 2 ) * k;

B = fir2(N,[0,wc1/pi,wc2/pi,1],[0,1,1,0]);

高频滤波器源程序:

% FindHigherFreq.m

function number = FindHigherFreq(Signal)

Freq = [1209,1336,1447]; temp = 0;

for n = 1:length(Freq)

Wo = Freq(n); B = DesignHigherFilter(Wo);

Out = filter(B,1,Signal);

Fout = max(abs(fft(Out)));

if ( Fout > temp )

number = n; temp = Fout;

end

end

% DesignHigherFilter.m

function B = DesignHigherFilter(Wo)

fs = 8000; N = 200; k = 2*pi/fs; Bandwidth = 110;

wc1 = ( Wo - Bandwidth / 2 ) * k;

wc2 = ( Wo + Bandwidth / 2 ) * k;

B = fir2(N,[0,wc1/pi,wc2/pi,1],[0,1,1,0]);

(4)编写接收DTMF信号的函数,并显示解码结果,即按键数字。

源程序如下:

% --- Executes on button press in DeCode.

function DeCode_Callback(hObject, eventdata, handles)

% hObject handle to DeCode (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

handles.DecodeTelNumber=''; %清空解码字符串变量,开始新一轮解码。keys = ['1','2','3';'4','5','6';'7','8','9';'*','0','#'];

for i=1 : length(handles.TelNumber)

Signal = dtmf(handles.TelNumber(i));

RowNumber = FindLowerFreq(Signal);

ColumnNumber = FindHigherFreq(Signal);

ResultKey = keys(RowNumber,ColumnNumber);

handles.DecodeTelNumber=strcat(handles.DecodeTelNumber,ResultKey); set(handles.DecodeText,'string',handles.DecodeTelNumber);

end

handles.TelNumber=''; %解码完成后,拨号变量清空,方便下一次拨号。

% Update handles structure

guidata(hObject, handles);

% RowNumber = FindLowerFreq(handles.DTMFSignal);

% ColumnNumber = FindHigherFreq(handles.DTMFSignal);

% ResultKey = keys(RowNumber,ColumnNumber);

% set(handles.DecodeText,'string',char(ResultKey));

(5)设计拨号键盘、电话号码显示、时域和频域波形显示的用户图形界面,并控制完整的拨号、识别过程。

源程序如下:

unction varargout = DTMFSystem(varargin)

% DTMFSYSTEM M-file for DTMFSystem.fig

% Begin initialization code

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @DTMFSystem_OpeningFcn, ...

'gui_OutputFcn', @DTMFSystem_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes just before DTMFSystem is made visible.

function DTMFSystem_OpeningFcn(hObject, eventdata, handles, varargin)

% This function has no output args, see OutputFcn.

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% varargin command line arguments to DTMFSystem (see V ARARGIN)

% Choose default command line output for DTMFSystem

handles.output = hObject;

handles.DTMFSignal = [];

handles.TelNumber='';

handles.DecodeTelNumber='';%保存解码字符串变量

set(gcf,'CurrentAxes',handles.TimeFig);

xlabel('单位:(s)');

set(gcf,'CurrentAxes',handles.FrequencyFig);

xlabel('单位:(Hz)');

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes DTMFSystem wait for user response (see UIRESUME) % uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line. function varargout = DTMFSystem_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see V ARARGOUT);

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure varargout{1} = handles.output;

% --- Executes on button press in Key1.

function Key1_Callback(hObject, eventdata, handles)

% hObject handle to Key1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(handles.DecodeText,'string',''); %清空解码显示文本框

Signal = PressKeyDown(handles,'1');

handles.DTMFSignal = Signal;

handles.TelNumber=strcat(handles.TelNumber,'1');

% Update handles structure

guidata(hObject, handles);

set(handles.CodeText,'string',handles.TelNumber);

% --- Executes on button press in Key2.

function Key2_Callback(hObject, eventdata, handles)

% hObject handle to Key2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(handles.DecodeText,'string',''); %清空解码显示文本框

Signal = PressKeyDown(handles,'2');

handles.DTMFSignal = Signal;

handles.TelNumber=strcat(handles.TelNumber,'2');

% Update handles structure

guidata(hObject, handles);

set(handles.CodeText,'string',handles.TelNumber);

% --- Executes on button press in Key3.

function Key3_Callback(hObject, eventdata, handles)

% hObject handle to Key3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(handles.DecodeText,'string',''); %清空解码显示文本框

Signal = PressKeyDown(handles,'3');

handles.DTMFSignal = Signal;

handles.TelNumber=strcat(handles.TelNumber,'3');

% Update handles structure

guidata(hObject, handles);

set(handles.CodeText,'string',handles.TelNumber);

% --- Executes on button press in Key4.

function Key4_Callback(hObject, eventdata, handles)

% hObject handle to Key4 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

set(handles.DecodeText,'string',''); %清空解码显示文本框

Signal = PressKeyDown(handles,'4');

handles.DTMFSignal = Signal;

handles.TelNumber=strcat(handles.TelNumber,'4');

% Update handles structure

guidata(hObject, handles);

set(handles.CodeText,'string',handles.TelNumber);

% --- Executes on button press in Key5.

function Key5_Callback(hObject, eventdata, handles)

% hObject handle to Key5 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(handles.DecodeText,'string',''); %清空解码显示文本框

Signal = PressKeyDown(handles,'5');

handles.DTMFSignal = Signal;

handles.TelNumber=strcat(handles.TelNumber,'5');

% Update handles structure

guidata(hObject, handles);

set(handles.CodeText,'string',handles.TelNumber);

% --- Executes on button press in Key6.

function Key6_Callback(hObject, eventdata, handles)

% hObject handle to Key6 (see GCBO)

% handles structure with handles and user data (see GUIDATA) set(handles.DecodeText,'string',''); %清空解码显示文本框

Signal = PressKeyDown(handles,'6');

handles.DTMFSignal = Signal;

handles.TelNumber=strcat(handles.TelNumber,'6');

% Update handles structure

guidata(hObject, handles);

set(handles.CodeText,'string',handles.TelNumber);

% --- Executes on button press in Key7.

function Key7_Callback(hObject, eventdata, handles)

% hObject handle to Key7 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(handles.DecodeText,'string',''); %清空解码显示文本框

Signal = PressKeyDown(handles,'7');

handles.DTMFSignal = Signal;

handles.TelNumber=strcat(handles.TelNumber,'7');

% Update handles structure

guidata(hObject, handles);

set(handles.CodeText,'string',handles.TelNumber);

% --- Executes on button press in Key8.

function Key8_Callback(hObject, eventdata, handles)

% hObject handle to Key8 (see GCBO)

% handles structure with handles and user data (see GUIDATA) set(handles.DecodeText,'string',''); %清空解码显示文本框

Signal = PressKeyDown(handles,'8');

handles.DTMFSignal = Signal;

handles.TelNumber=strcat(handles.TelNumber,'8');

% Update handles structure

guidata(hObject, handles);

set(handles.CodeText,'string',handles.TelNumber);

% --- Executes on button press in Key9.

function Key9_Callback(hObject, eventdata, handles)

% hObject handle to Key9 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(handles.DecodeText,'string',''); %清空解码显示文本框

Signal = PressKeyDown(handles,'9');

handles.DTMFSignal = Signal;

handles.TelNumber=strcat(handles.TelNumber,'9');

% Update handles structure

guidata(hObject, handles);

set(handles.CodeText,'string',handles.TelNumber);

% --- Executes on button press in KeyStar.

function KeyStar_Callback(hObject, eventdata, handles)

% hObject handle to KeyStar (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA) % --- Executes on button press in Key2.

set(handles.DecodeText,'string',''); %清空解码显示文本框

Signal = PressKeyDown(handles,'*');

handles.DTMFSignal = Signal;

handles.TelNumber=strcat(handles.TelNumber,'*');

% Update handles structure

guidata(hObject, handles);

set(handles.CodeText,'string',handles.TelNumber);

% --- Executes on button press in Key0.

function Key0_Callback(hObject, eventdata, handles)

% hObject handle to Key0 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(handles.DecodeText,'string',''); %清空解码显示文本框

Signal = PressKeyDown(handles,'0');

handles.DTMFSignal = Signal;

handles.TelNumber=strcat(handles.TelNumber,'0');

% Update handles structure

guidata(hObject, handles);

set(handles.CodeText,'string',handles.TelNumber);

% --- Executes on button press in KeySharp.

function KeySharp_Callback(hObject, eventdata, handles)

% hObject handle to KeySharp (see GCBO)

数字信号处理课程设计报告

抽样定理的应用 摘要 抽样定理表示为若频带宽度有限的,要从抽样信号中无失真地恢复原信号,抽样频率应大于2倍信号最高频率。抽样频率小于2倍频谱最高频率时,信号的频谱有混叠。抽样频率大于2倍频谱最高频率时,信号的频谱无混叠。 语音信号处理是研究用数字信号处理技术和语音学知识对语音 信号进行处理的新兴学科,是目前发展最为迅速的学科之一,通过语音传递信息是人类最重要,最有效,最常用和最方便的交换信息手段,所以对其的研究更显得尤为重要。 Matlab语言是一种数据分析和处理功能十分强大的计算机应用 软件,它可以将声音文件变换成离散的数据文件,然后用起强大的矩阵运算能力处理数据。这为我们的本次设计提供了强大并良好的环境! 本设计要求通过利用matlab对模拟信号和语音信号进行抽样,通过傅里叶变换转换到频域,观察波形并进行分析。 关键词:抽样Matlab

目录 一、设计目的: (2) 二、设计原理: (2) 1、抽样定理 (2) 2、MATLAB简介 (2) 3、语音信号 (3) 4、Stem函数绘图 (3) 三、设计内容: (4) 1、已知g1(t)=cos(6πt),g2(t)=cos(14πt),g3(t)=cos(26πt),以抽样频率 fsam=10Hz对上述三个信号进行抽样。在同一张图上画出g1(t),g2(t),g3(t)及其抽样点,对所得结果进行讨论。 (4) 2、选取三段不同的语音信号,并选取适合的同一抽样频率对其进 行抽样,画出抽样前后的图形,并进行比较,播放抽样前后的语音。 (6) 3、选取合适的点数,对抽样后的三段语音信号分别做DFT,画图 并比较。 (10) 四、总结 (12) 五、参考文献 (13)

微机原理课程设计数字时钟程序

河北科技大学 课程设计报告 学生姓名:学号: 专业班级: 电子信息科学与工程 课程名称:微型计算机原理及应用 学年学期: 2 01 1 —2012 学年第1 学期 指导教师: 20 0 1 1年 1 2月 课程设计成绩评定表

目录 一、课设题目及目的………………………………….4 二、设计任务………………………………………….4 三、总框图及设计流程 (4) 四、?源程序清单 (6) 五、?调试结果及显示 (19) 六、?个人贡献………………………………………….19 七、课程设计总结及体会 (21) 一、课设题目及目的 实习题目:数字时钟程序 实习目的:通过实习,使我们进一步弄懂所学到的课本知识,巩固和深化对8086系统的指令系统、中断系统、键盘/显示系统、程序设计、应用开发等基本理论知识的理解,提高汇编语言应用于技术的实践操作技能,掌握汇编语言应用系统设计、研制的方法,培养利用科技革新、开发和创新的基本能力,为毕业后从事与其相关的工作打下一定的基础。

二、课设任务 本课题为利用汇编语言设置时钟程序,其显示效果为:截取系统时间,能以时、分、秒(其中时为24小时制)的形式显示,并且通过合理的操作能修改时和分的内容来修改时间。再有,可以给它设定一个ALARM时间,到这个时间它就能产生信号,起到定时作用,。除此之外还能显示日期,日期分为年、月、日,其显示方式为xxxx年xx 月xx日。 ' *

DB '***********PRESS ESCBUTTON TO EXIT**************',0AH,0DH,'$' TN DB'PLEASE INPUT THE NEW TIME(HH:MM:SS):',0DH,0AH,'$' TMDB'PLEASE INPUT THE ALARM TIME (HH:MM:SS):',0DH,0AH,'$' MUSICMESS DB'PLEASE CHOOSE THE TYPE OF MUSIC:1(FAST) 2(MIDDLE) 3(SLOW)',0DH,0AH,'$' MESS2DB'TIME IS:',0AH,0DH,'$' MESS3DB 'TODAY IS:',0AH,0DH,'$' DBUFFER1DB20DUP('') T_BUFFD B 40 ;在数据段开一段时间显示缓冲区 DB ? DB 40DUP(?) HOR DB? MIN DB? SEC DB? TEMPHOR DB ? TEMPMIN DB? TEMPSEC DB? MUSIC DW 800;存放音乐的频率数DATA ENDS STACK SEGMENT DB 100 DUP(?) STACK ENDS CODESEGMENT ASSUME CS:CODE,SS:STACK,DS:DATA START: CALL CLEAR ;调用清屏子程序 DISPLAY:;时间显示部分 MOV AX,DATA MOVDS,AX MOVBX,OFFSETT_BUFF;送T_BUFF的偏移地址到BX MOV AH,2CH;调用DOS时间调用功能,功能号:2CH,小时,分钟,秒数分别保存在CH,CL,DH中 INT 21H ;判断时间是否相等SUB DH,1;秒数+1修正 CALL CHECK ;.........................................................................

《数字逻辑》数字时钟课程设计报告资料

《数字逻辑》课程设计报告 题目数字时钟 学院(部)信息工程学院 专业计算机科学与技术 班级计算机一班 学生姓名 学号20132402 6 月29 日至 7 月 3 日共1 周 指导教师(签字)

题目 一.摘要: 钟表的数字化给人们的生产生活带来了极大的方便,并且极大的扩展了钟表原先的报时功能。诸如定时自动报有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常警、学校的按时自动打铃、时间程序自动控制、定时广播、定时启闭路灯,甚至各种定时电气的自启用等。所现实的意义。本次数电课设我组设计的数字时钟是由石英晶体振荡器、分频器、计数器、译码器、显示器、校时电路、报时电路和计时电路组成,石英晶体振荡器产生的信号经过分频器作为秒脉冲,秒脉冲送入计数器计数,计数结果通过“时”、“分”、“秒”译码器在七段显示器上显示时间。 二.关键词: 校时计时报时分频石英晶体振荡器 三.技术要求: 1、有“时”、“分”、“秒”(23小时59分59秒)显示且有校时功能; 2、有计时功能,时钟不会在计时的时候停下。计时范围是0~99秒; 3、有闹铃功能,闹铃响的时间由使用者自己设置,闹铃时间至少一分钟; 4、要在七段显示器(共阴极6片)显示时间; 5、电子钟要准确正常地工作。 四、方案论证与选择: 钟表的是长期使用的器件,误差容易积累由此增大。所以要求分频器产生的秒脉冲要极其准确。而石英晶体产生的信号是非常稳定的,所以我们使用石英晶体产生的信号经过分频电路作为秒脉冲。秒脉冲信号经过6级计数器,分别得到“秒”、“分”、“时”的个位、十位的计时。由实际的要求,“秒”、“分”计数器为60进制的计数器,小时为24进制。由于74LS160十进制加法计数器易于理解使用,我们在设计各个计数器时都是由采用74LS160芯片级联构成。在计时部分,最小单位是0.01s,我们采用555多谐振荡器产生100HZ的信号作为秒脉冲进入一个4级计数器,计时范围是0~99秒。石英晶体

DSP课程设计总结报告

课程设计总结报告课程名称DSP控制器及其应用 设计题目万年历设计 业专电子信息工程 班级 姓名 学号

指导教师 报告成绩 信息工程学院 年六月十三日二〇一四 录目 言前 (3) 设计要求第一章4.....................................................................................基本要求1.14.....................................................................................

系统的组成和工作原理第二章5............................................................. 芯片的工作原理VC5509APGE2.1DSPTMS3205.............................. 液晶显示器的工作原理2.2LCD16026..............................................主电路图及程序流程图第三章.. (7) 主电路图3.17...................................................................................... 程序总流程图3.27.............................................................................. 程序分块流程图3.38..........................................................................软件程序设计第四章9.............................................................................

数字信号处理课设+语音信号的数字滤波

语音信号的数字滤波 ——利用双线性变换法实现IIR数字滤波器的设计一.课程设计的目的 通过对常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法;熟悉用双线性变换法设计 IIR 数字滤波器的原理与方法,掌握利用数字滤波器对信号进行滤波的方法,掌握数字滤波器的计算机仿真方法,并能够对设计结果加以分析。 二.设计方案论证 1.IIR数字滤波器设计方法 IIR数字滤波器是一种离散时间系统,其系统函数为 假设M≤N,当M>N时,系统函数可以看作一个IIR的子系统和一个(M-N)的FIR子系统的级联。IIR数字滤波器的设计实际上是求解滤波器的系数和,它 是数学上的一种逼近问题,即在规定意义上(通常采用最小均方误差准则)去逼近系统的特性。如果在S平面上去逼近,就得到模拟滤波器;如果在z平面上去逼近,就得到数字滤波器。 2.用双线性变换法设计IIR数字滤波器 脉冲响应不变法的主要缺点是产生频率响应的混叠失真。这是因为从S平面到Z平面是多值的映射关系所造成的。为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-π/T~π/T之间,再用z=e sT转换 平面的-π/T~π到Z平面上。也就是说,第一步先将整个S平面压缩映射到S 1 /T一条横带里;第二步再通过标准变换关系z=e s1T将此横带变换到整个Z平面上去。这样就使S平面与Z平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象,映射关系如图1所示。 图1双线性变换的映射关系 为了将S平面的整个虚轴jΩ压缩到S1平面jΩ1轴上的-π/T到π/T段上,可以通过以下的正切变换实现

数字时钟课程设计方案设计方案

课程设计题目名称:数字时钟 专业名称:电气工程及其自动化班级: ******** 学号: *******8 学生姓名: ******* 任课教师: *******

《电子技术课程设计》任务书

2.对课程设计成果的要求〔包括图表(或实物)等硬件要求〕:设计电路,安装调试或仿真,分析实验结果,并写出设计说明书,语言流畅简洁,文字不得少于3500字。要求图纸布局合理,符合工程要求,使用Protel软件绘出原理图(SCH)和印制电路板(PCB),器件的选择要有计算依据。 3.主要参考文献:⑴《电子技术课程设计指导》彭介华编,高等教育出版社,1997年10月 ⑵《数字电子技术》康华光编著高等教育出版社, 2001年 要求按国标GB 7714—87《文后参考文献著录规则》书写。 4.课程设计工作进度计划: 序号起迄日期工作内容 初步设想和资料查询,原理图的绘画 1 2015.11.18-2015.12.21 仿真调试,元件参数测定,实物的拼接与测试 2 2015.12.21-2016.1.8 叙写设计报告,总结本次设计,论文提交 3 2016.1.8-2016.1.18 主指导教师日期:年月日

摘要 数字时钟已成为人们日常生活中必不可少的必需品,广泛于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来了极大的方便。并且数字时钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。报告围绕此次数字钟的设计进行介绍、总结,包含了设计的步骤,前期的准备,装配的过程。在实装时,采用了74LS90进行计数,用CD4060产生秒脉冲,CD4511进行数码管转换显示,还要考虑电路的校时、校分,每块芯片各设计为几进制等等,最后实现了数字钟设计所要求的各项功能:时钟显示功能;快速校准时间的功能。 关键字:数字时钟校时CD4511

DSP课程设计 (3)

深圳大学考试答题纸 (以论文、报告等形式考核专用) 二○一四~二○一五学年度第1 学期 课程编号 课程 名称 单片机/ARM /DSP技术实践 主讲 教师 评 分 学号姓名 专业年级 题 目: 基于DSP2812的课程设计

一、实验要求 由外接的信号发生器产生一正弦信号(电压范围:0~3V),通过DSP的AD功能对此正弦信号进行采集,通过DSP的SCI功能与PC机之间进行通信,把所采集的AD信号发送至PC机端,在超级终端上进行实时显示。 二、实验原理 2.1 ADC概述 ADC,即模/数转换器,将模拟量转换成数字量,提供给控制器使用。TMS320F2812片上有一个12位分辨率、具有流水线结构的模/数转换器,其机构框图如图1所示。其前端为2个8选1多路切换器和2路同时采样/保持器,构成16个模拟输入通道,模拟通道的切换由硬件自动控制,并将各模拟通道的转换结果顺序存入16个结果寄存器中。 图1 ADC机构框图 2.2 ADC模块特点 (1)带2个8选1多路切换器和双采样/保持器的12位的ADC,共有16个模拟输入通道; (2)模拟量输入范围:0.0V-3.0V;

(3)转换率:在25MHZ的ADC时钟下为80ns; (4)转换结果存储在16个结果存储器中; (5)转换结果=4095*(输入的模拟信号-ADCLO)/3; (6)多种A/D触发方式:软件启动、EVA和EVB; (7)灵活中断方式:可以在每次转换结束或每隔一次转换结束触发中断; 3.AD C转换步骤 (1)初始化DSP系统; (2)设置PIE中断矢量表; (3)初始化ADC模块; (4)将ADC中断的入口地址装入PIE中断矢量表中,开中断; (5)软件启动ADC转换; (6)等待ADC中断; (7)在ADC中断中读取ADC转换结果,软件启动下一次ADC中断。 三、实验实现 3.1硬件方案设计 本实验以TMS320F2812为核心控制部件,利用软件编程,通过ADC模块对试验箱上的信号发生器发出的正弦信号进行采集,由于试验箱上的信号发生器只能调节到2V,所以此次实验只针对2V的正弦信号,再通过串口线与PC机连接,将采集转换的数字信号传送到PC机端的串口助手,并还原成采集时的电压值。硬件框架图如图2所示。本次ADC采用SEED-DEC2812的AD接口的ADCINA6通道。 图2 硬件框架图

数字信号处理课设共18页文档

数字信号处理课程设计 姓名:刘倩 学号:201014407 专业:信息与计算科学 实验一:常见离散信号产生和实现 一、实验目的: 1、加深对常用离散信号的理解; 2、掌握matlab 中一些基本函数的建立方法。 二、实验原理: 1.单位抽样序列 在MATLAB 中可以利用zeros()函数实现。 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: 2.单位阶越序列 在MATLAB 中可以利用ones()函数实现。 3.正弦序列 在MATLAB 中 4.复指数序列 在MATLAB 中 5.指数序列 在MATLAB 中

实验内容:由周期为10的正弦函数生成周期为20的余弦函数。 实验代码: n=0:30; y=sin(0.2*pi*n+pi/2); y1=sin(0.1*pi*n+pi/2); subplot(121) stem(n,y); xlabel ('时间序列n');ylabel('振幅');title('正弦函数序列y=sin(0.2*pi*n+pi/2)'); subplot(122) stem(n,y1); xlabel ('时间序列n');ylabel('振幅'); title('正弦函数序列y=sin(0.2*pi*n+pi/2)'); 实验结果: 实验二:离散系统的时域分析 实验目的:加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。实验原理:离散系统 其输入、输出关系可用以下差分方程描述: 输入信号分解为冲激信号, 记系统单位冲激响应 则系统响应为如下的卷积计算式:

当N k d k ,...2,1,0==时,h[n]是有限长度的(n :[0,M]),称系统为FIR 系统;反之,称系统为IIR 系统。 在MATLAB 中,可以用函数y=filter(p,d,x)实现差分方程的仿真,也可以用函数 y=conv(x,h)计算卷积,用y=impz(p,d,N)求系统的冲激响应。 实验内容:用MATLAB 计算全解 当n>=0时,求用系数差分方程y[n]+y[n-1]-6y[n-2]=x[n]描述的一个离散时间系统对阶跃输入x[n]=8μ[n]的全解。 实验代码: n=0:7; >> [y,sf]=filter(1,[1 1 -6],8*ones(1,8),[-7 6]); >> y1(n+1)=-1.8*(-3).^n+4.8*(2).^n-2; >> subplot(121) >> stem(n,y); >> title('由fliter 函数计算结果'); >> subplot(122) >> stem(n,y1); >> title('准确结果'); 实验结果: 结果分析:有图可得由fliter 函数得出的结果与计算出的准确结果完全一致。 实验三FFT 算法的应用

微机原理课程设计报告-数字时钟的实现(附代码)

合肥工业大学 计算机与信息学院 课程设计 课程:微机原理与接口技术设计专业班级:计算机科学与技术x班学号: 姓名:

一、设计题目及要求: 【课题6】数字时钟 1.通过8253 定时器作产生秒脉冲定时中断。在中断服务程序中实现秒、分、小时的进位(24小时制)。 2.在七段数码管上显示当前的时分秒(例如,12 点10 分40 秒显示为121040)。 3.按“C”可设置时钟的时间当前值(对准时间)。 二、设计思想: 总体思想: 1、功能概述: 实验箱连线: 本实验建立在Dais实验箱基础上完成的基本连线及程序如下: 138译码器: A,B,C,D,分别连接A2,A3,A4,GS; y0连接8253的CS片选信号; y1连接8259的CS片选信号; 8253连线: 分频信号T2接8253的CLK0; 8253的OUT0接8259的IR7; 8253的gate信号接+5V; 8259连线: 8259的数据线接入数据总线;

本程序包括显示模块,键盘扫描模块,时间计数模块,设置模块等几个模块, (1)程序运行后,LED显示000000初始值,并且开始计数 (2)按C键进行设置初始时间,考虑到第一个数只能是0,1,2,当第一个数显示2时第二个数只能显示0~4,同理下面各位应满足时钟数值的合理的取值; (3)在手动输入初始值时,按D键进行回退1位修改已设置值,连续按D键可以全部进行删除修改。 2、主程序设计 主程序中完成通过调用子程序完成对8253及8259的初始化,对8259进行中断设置。主要在显示子程序和键盘子处理程序之间不断循环,8253每一秒给8259一个刺激,当8259接受到刺激后会给CPU一个中断请求,CPU会转去执行中断子程序,而中断子程序设置成时间计数加,即完成电子表的整体设计。详细流程图见图三-1。 3、LED显示子程序设计 本程序显示部分用了6个共阳极LED作为显示管,显示程序要做到每送一次段码就送一次位码,每送一次位码后,将位码中的0右移1位作为下次的位码,从而可以实现从左到右使6个LED依次显示出相应的数字。虽然CPU每隔一定时间便执行显示程序,但只要这个时间段不太长,由于人眼的视觉作用,就可以在6个LED上同时见到数字显示。 4、键盘扫描子程序设计 本程序需要用键盘对时间的初始值进行设置,因此对键盘扫描的子程序需要满足的功能如下: 判断是否是C键,若不是就返回至主程序,若是C键就开始对时间初始值进行设置,同时因注意到第一个值不可以超过2,第一个数是2时第二数不能超过4,余下的同理要满足时间数值的取值范围呢,若不是合法输入不予反应继续等待输入。当遇到输入数值错误时可以按下D键进行删除一位重新设置;当6位初始值全部设置成功后,电子表将自动开始走表。 5、时间运算子程序设计 该子程序的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟

电子时钟课程设计55026

. 单片机课程设计题目:电子时钟 班级: 姓名: 学号: 指导教师: 设计时间:

.

摘要 针对数字时钟的问题,利用8051单片机,proteus软件,vw(伟福)等软件,运用单片机中定时计数器T0,中断系统以及按键的控制实现了电子时钟的设计。设计的电子时钟通过数码管显示,并能通过按键的设计实现小时与分钟的调整。时间的启动与暂停等等。 关键字:数字时钟;单片机;定时计数器 .

1 引言 时钟,自他发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术不断的发展,人们对时间计量的进度要求越来越高,应用越来越广。怎样让时钟更好地为人类服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。 现金,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都使用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示器,减小了计时误差,这种表具有时、分、秒显示的功能,还可以进行时、分的校对,片选的灵活性好。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准震荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,及定时时间,它通常有两种方法实现:一是软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要起不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法。本文主要介绍用单片机内部的定时计数器来实现电子时钟的方法,以单片机为核心,辅以必要电路,构成了一个单片机电子时钟。 单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机以及扩展的存储器、I\O接口、外围扩展的功能芯片以及接口电路。软件系统包括监控程序和各种应用程序。 在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和I\O接口,使单片机应用系统能够运行。 在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED指示灯就可以进行处理了。在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。显示器可以是LED指示灯,也可以是LED数码管,也可 .

dsp课程设计实验报告

DSP 课程设计实验 一、语音信号的频谱分析: 要求首先画出语音信号的时域波形,然后对语音信号进行频谱分析。在MATLAB 中,可以利用函数fft 对信号进行快速傅立叶变换,得到信号的频谱特性,从而加深对频谱特性的理解。 其程序为: >> [y,fs,bits]=wavread('I:\',[1024 5120]); >> sound(y,fs,bits); >> Y=fft(y,4096); >> subplot(221);plot(y);title('原始信号波形'); | >> subplot(212);plot(abs(Y));title('原始信号频谱'); 程序运行结果为: 二、设计数字滤波器和画出频率响应: 根据语音信号的特点给出有关滤波器的性能指标: 低通滤波器性能指标,p f =1000Hz ,c f =1200Hz ,s A =100dB ,p A =1dB ; 高通滤波器性能指标,c f =4800Hz ,p f =5000Hz ,s A =100dB ,p A =1dB ; 带通滤波器性能指标,1p f =1200Hz ,2p f =3000Hz ,1c f =1000Hz ,2c f =3200Hz ,s A =100dB , p A =1dB ;

】 要求学生首先用窗函数法设计上面要求的三种滤波器,在MATLAB中,可以利用函数firl 设计FIR滤波器;然后再用双线性变换法设计上面要求的三种滤波器,在MATLAB中,可以利用函数butte、cheby1和ellip设计IIR滤波器;最后,利用MATLAB中的函数freqz画出各种滤波器的频率响应,这里以低通滤波器为例来说明设计过程。 低通: 用窗函数法设计的低通滤波器的程序如下: >> fp=1000;fc=1200;As=100;Ap=1;fs=22050; >> wc=2*fc/fs;wp=2*fp/fs; >> N=ceil(/*(wc-wp)/2))+1; >> beta=*; >> Win=Kaiser(N+1,beta); 、 >>b=firl(N,wc,Win); >>freqz(b,1,512,fs); 程序运行结果: 这里选用凯泽窗设计,滤波器的幅度和相位响应满足设计指标,但滤波器长度(N=708)太长,实现起来很困难,主要原因是滤波器指标太苛刻,因此,一般不用窗函数法设计这种类型的滤波器。 用双线性变换法设计的低通滤波器的程序如下: >> fp=1000;fc=1200;As=100;Ap=1;fs=22050; >> wc=2*fc/fs;wp=2*fp/fs; 》 >> [n,wn]=ellipord(wp,wc,Ap,As); >> [b,a]=ellip(n,Ap,As,wn); >> freqz(b,a,512,fs); ^

数字信号处理课程规划报告

数字信号处理课程设计报告《应用Matlab对信号进行频谱分析及滤波》 专业: 班级: 姓名: 指导老师: 二0 0五年一月一日

目录 设计过程步骤() 2.1 语音信号的采集() 2.2 语音信号的频谱分析() 2.3 设计数字滤波器和画出其频谱响应() 2.4 用滤波器对信号进行滤波() 2.5滤波器分析后的语音信号的波形及频谱() ●心得和经验()

设计过程步骤 2.1 语音信号的采集 我们利用Windows下的录音机,录制了一段开枪发出的声音,时间在1 s内。接着在C盘保存为WAV格式,然后在Matlab软件平台下.利用函数wavread对语音信号进行采样,并记录下了采样频率和采样点数,在这里我们还通过函数sound引入听到采样后自己所录的一段声音。通过wavread函数和sound的使用,我们完成了本次课程设计的第一步。其程序如下: [x,fs,bite]=wavread('c:\alsndmgr.wav',[1000 20000]); sound(x,fs,bite); 2.2 语音信号的频谱分析 首先我们画出语音信号的时域波形;然后对语音信号进行频谱分析,在Matlab中,我们利用函数fft对信号进行快速傅里叶变换,得到信号的频谱特性性。到此,我们完成了课程实际的第二部。 其程序如下: n=1024; subplot(2,1,1); y=plot(x(50:n/4)); grid on ; title('时域信号') X=fft(x,256); subplot(2,1,2); plot(abs(fft(X))); grid on ; title('频域信号'); 运行程序得到的图形:

(完整版)数字电路课程设计--数字时钟

《数字时钟》技术报告 概要 数字钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24 小时,显示满刻度为23 时59 分59 秒。一个基本的数字钟电路主要由秒信号发生器、“时、分、秒、”计数器、译码器及显示器组成。由于采用纯数字硬件设计制作,与传统的机械表相比,它具有走时准,显示直观,无机械传动装置等特点。 本设计中的数字时钟采用数字电路实现对“时” 、“分”、“秒” 的显示和调整。通过采用各种集成数字芯片搭建电路来实现相应的功能。具体用到了555 震荡器,74LS90 及与非,异或等门集成芯片等。该电路具有计时和校时的功能。 在对整个模块进行分析和画出总体电路图后,对各模块进行仿真并记录仿真所观察到的结果。 实验证明该设计电路基本上能够符合设计要求! 一、系统结构。 (1)功能。此数字钟能显示“时、分、秒”的功能,它的计时周期是24 小时,最大能显示23 时59 分59 秒,并能对时间进行调整和校对,相对于机械式的手表其更为准确。 2)系统框图

系统方框图 1 (3)系统组成。 1.秒发生器:由555 芯片和RC 组成的多谐振荡器,其555 上3 的输出频率由接入的电阻与电容决定。 2.校时模块:由74LS03 中的4 个与非门和相应的开关和电阻构成。 3.计数器:由74LS90 中的与非门、JK 触发器、或门构成相应芯片串接得到二十四、六十进制的计数器,再由74LS90 与74LS08 相连接而得到秒、分、时的进分别进位。 4.译码器:选用BCD 锁存译码器4511,接受74LS90 来的信号,转换为7 段的二进制数。

5.显示模块:由7 段数码管来起到显示作用,通过接受CD4511 的信号。本次选用的是共阴型的CD4511 。 二、各部分电路原理。 1.秒发生器:555 电路内部(图2-1)由运放和RS 触发器共同组成,其工作原理由8处接VCC ,C1 处当 Uco=2/3Vcc>u11 时运放输出为1,同理C2 也一样。最终如图3 接口就输出矩形波,而形成的秒脉冲。 图 2-2 555 功能表 2.校时模块:校时模块主要由74LS03中的4个与非门构成(图2-3),由其功能图看得出只要有一个输入端由H 到L 或者从L 到H 都会使输出端发生高低变化。因此通过开关的拨动产生高低信号从而对时、分处的计数器起到调数作用。

DSP课程设计报告

共享知识分享快乐 盛年不重来,一日难再晨。及时宜自勉,岁月不待人。 数据采集处理和控制系统设计 一课程设计要求 1.基本DSP硬件系统设计要求 ①基本DSP硬件系统以TMS320C54x系列为核心处理器,包括最小系统、存储器扩展、显示器、键盘、AD、DA等电路模块; ②硬件设计画出主要芯片及电路模块之间的连接即可,重点考查电路模块方案设计与系统地址分配; ③设计方案以电路示意图为主,辅以必要的文字说明。 2.基本软件设计要求 ①看懂所给例程,画出例程输出波形示意图; ②修改例程程序,使之输出其它波形,如方波、三角波、锯齿波等均可; ③设计方案以程序实现为主,辅以必要的文字说明。 3.课程设计报告要求 ①硬件系统设计:设计思路、设计系统功能、主要芯片选型及使用方法、设计方案说明、电路示意图 ②软件系统设计:示例程序功能解读及输出波形示意图、设计软件功能、设计思路、实现源码(带程序注释) ③报告总结 二系统分析 利用实验箱的模拟信号产生单元产生不同频率的信号,或者产生两个频率的信号的叠加。在DSP 中采集信号,并且对信号进行频谱分析,滤波等。通过键盘或者串口命令选择算法的功能,将计算的信号频率或者滤波后信号的频率在LCD 上显示。主要功能如下: (1)对外部输入的模拟信号采集到DSP 内存,会用CCS 软件显示采集的数据波形。 (2)对采集的数据进行如下算法分析: ①频谱分析:使用fft 算法计算信号的频率。 ②对信号进行IIR 滤波或FIR 滤波,并且计算滤波前后信号的频率。 ③外部键盘或者从计算机来的串口命令选择算法功能,并且将结果在 LCD 上显示。 绘制出DSP系统的功能框图、使用AD(Altium Designer)绘制出系统的原理图和PCB 版图。 在 DSP 中采集信号,用CCS 软件显示采集的数据波形,以及对采集的数据进行算法分析。 三硬件设计 3.1 硬件总体结构

数字信号处理课程设计

数字信号处理 课 程 设 计 院系:电子信息与电气工程学院 专业:电子信息工程专业 班级:电信班 姓名: 学号: 组员:

摘要 滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR 滤波器是滤波器设计的重要组成部分。利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器。课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现。在设计实现的过程中,使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,并利用MATLAB 作为辅助工具完成设计中的计算与图形的绘制。通过对对所设计滤波器的仿真和频率特性分析,可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器,过程简单方便,结果的各项性能指标均达到指定要求。 关键词数字滤波器 MATLAB 窗函数法巴特沃斯

目录 摘要 (1) 1 引言 (1) 1.1课程设计目的 (1) 1.2 课程设计内容及要求 (1) 1.3课程设计设备及平台 (1) 1.3.1 数字滤波器的简介及发展 (1) 1.3.2 MATLAB软件简介 (2) 2 课程设计原理及流程 (4) 3.课程设计原理过程 (4) 3.1 语音信号的采集 (4) 3.2 语音信号的时频分析 (5) 3.3合成后语音加噪声处理 (7) 3.3.1 噪声信号的时频分析 (7) 3.3.2 混合信号的时频分析 (8) 3.4滤波器设计及消噪处理 (10) 3.4.1 设计IIR和FIR数字滤波器 (10) 3.4.2 合成后语音信号的消噪处理 (13) 3.4.3 比较滤波前后语音信号的波形及频谱 (13) 3.4.4回放语音信号 (15) 3.5结果分析 (15) 4 结束语 (15) 5 参考文献 (16)

电子技术课程设计数字时钟

目录 目录 (1) 前言 (2) 内容摘要 (2) 设计要求 (2) 第一章方案设计 (3) 第二章硬件设计及仿真 (4) 2.1振荡器的设计 (4) 2.2分频器的设计 (6) 2.3时间计数器的设计 (7) 2.3.1六十进制计数器 (7) 2.3.2二十四进制计数器 (8) 2.4译码器与显示器的设计 (9) 2.5校时电路 (10) 第三章电路的总体设计 (11) 第四章元器件清单及部分芯片介绍 (12) 4.1元器件清单 (12) 4.2部分芯片功能介绍 (13) 4.2.1 74LS90N (13) 4.2.2 555 (14) 第五章总结 (16) 附录参考文献 (17)

前言 内容摘要 数字钟是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒。一个基本的数字钟电路主要由秒信号发生器、“时、分、秒、”计数器、译码器及显示器组成。由于采用纯数字硬件设计制作,与传统的机械表相比,它具有走时准,显示直观,无机械传动装置等特点。 本设计中的数字时钟采用数字电路实现对“时”、“分”、“秒”的显示和调整。通过采用各种集成数字芯片搭建电路来实现相应的功能。具体用到了555震荡器,74LS90及与非,异或等门集成芯片等。该电路具有计时和校时的功能。 在对整个模块进行分析和画出总体电路图后,对各模块进行仿真并记录仿真所观察到的结果。 实验证明该设计电路基本上能够符合设计要求! 设计要求 (1)、要求电路能够产生定时脉冲; (2)、要求电路能够根据对定时脉冲的计算得到时,分,秒;(3)、要求电路能够产生时,分,秒。

数字时钟课程设计报告

《电子线路课程设计报告》 系另 1」: 机电与自动化学院 专业班级:电气及自动化技术1001 学生姓名:陈星涯 指导教师:梁宗善 i=r (课程设计时 间: 2012年1月3日——2012年1月13日) 华中科技大学武昌分校 1.课程设计目的................................................. 3页 2.课程设计题目描述和要求....................................... 3页 2.1课程设计题目............................................. 3页

2.2课程设计要求............................................. 3页 3. ......................................................................................................... 比较和选定设计的系统方案.................................................... 4页 3.1数字钟的构成............................................. 4页 4.单元电路设计及工作原理....................................... 5页 4.1时基电路................................................. 5页 a. 多谐振荡器的工作原理................................... 5页 4.2计数器................................................... 7页 a.中规模计数器组件介绍.................................. 7页 b.60 进制计数器 .......................................... 8页 C.12 翻1计数器........................................... 9页 4.3译码器................................................... 10页 4.4显示器................................................... 10页 4.5校时电路................................................. 11页 4.6定时控制电路............................................. 12页 4.7仿广播电台正点报时电路................................... 13页 5.调试过程及分析............................................... 14页 5.1显示器故障排查........................................... 14页 5.2计数器调试及分析......................................... 15页 5.3校时电路的调试........................................... 16页 5.4增加抗干扰电路........................................... 16页 5.5闹时电路的调试........................................... 17页 5.6仿广播电台整点报时电路调试............................... 17页 6.课程设计总结................................................. 17页 7.参考文献..................................................... 19页 8.附件一:电子时钟主体电路电路图............................... 20页 9.附件二:扩展电路电路图....................................... 21页 10.附件三:系统所需元器件清单 ................................ 22页 11.课程设计成绩.............................................. 23页 一、设计任务与目的 数字时钟是一种利用数字电路技术实现时、分、秒计时的装置,与传统的

dsp课程设计实验报告总结

DSP课程设计总结(2013-2014学年第2学期) 题目: 专业班级:电子1103 学生姓名:万蒙 学号:11052304 指导教师: 设计成绩: 2014 年6 月

目录 一设计目的----------------------------------------------------------------------3 二系统分析----------------------------------------------------------------------3 三硬件设计 3.1 硬件总体结构-----------------------------------------------------------3 3.2 DSP模块设计-----------------------------------------------------------4 3.3 电源模块设计----------------------------------------------------------4 3.4 时钟模块设计----------------------------------------------------------5 3.5 存储器模块设计--------------------------------------------------------6 3.6 复位模块设计----------------------------------------------------------6 3.7 JTAG模块设计--------------------------------------------------------7 四软件设计 4.1 软件总体流程-----------------------------------------------------7 4.2 核心模块及实现代码---------------------------------------8 五课程设计总结-----------------------------------------------------14

相关主题
文本预览
相关文档 最新文档