信号实验(01)matlab编程基础及典型实例(代码片段)

jinzhi666 jinzhi666     2022-12-04     722

关键词:

信号实验(01)MATLAB 编程基础及典型实例

一.例子

1.1.duiqi.m

function [f1_new, f2_new, n ] = duiqi(f1,n1,f2,n2)
%  功能:将两个序列对齐,以实现两个序列之间的运算
%  输入:
%  (1 ) f1,f2:  原来的两个序列;
%  (2 ) n1,n2: f1,f2  所对应的时间变量范围;
%  输出:
% f1_new, f2_new  :对齐后的两个序列
% n :  对齐后的两个序列的时间变量范围
%-------------------------------------------------------------------------
a = min(min(n1), min(n2));
b = max(max(n1), max(n2));
n = a : b;
f1_new = zeros(1, length(n));
f2_new = zeros(1, length(n));
tem1 = find((n>=min(n1))&(n<=max(n1))==1);
f1_new(tem1) = f1;
tem2 = find((n>=min(n2))&(n<=max(n2))==1);
f2_new(tem2) = f2;

二.实验

2.1.新建自己姓名文件夹

2.2.绘制曲线

绘制信号 x ( t ) = e − 2 t s i n ( 2 3 t ) x(t)=e^-\\sqrt2tsin(\\frac23t) x(t)=e2 tsin(32t)的曲线,t 的范围在 0   30 s 0 ~ 30s 0 30s,取样时间间隔为 0.1 s 0.1s 0.1s.

% 绘制信号 的曲线,t 的范围在 0 ~ 30s,取样时间间隔为 0.1s.
t = 0:0.1:30;
x = exp(-sqrt(2) .* t) .* sin(2 / 3 .* t);
plot(t,x);

2.3.离散分段函数

n = [ − 10 : 10 ] n = [-10:10] n=[10:10] 范围产生离散序列:
x ( n ) = 2 n , − 3 ≤ n ≤ 3 = 0 , o t h e r x(n)=2n,-3\\le n\\le 3\\\\ =0,other x(n)=2n,3n3=0,other
并绘图。

n = (-10:1:10);
% 生成一样维度x
x = zeros(size(n));
for i = 1:length(n)
    if -3 <= n(i) && n(i) < 3
        x(i) = 2 * n(i);
    else
        x(i) = 0;
    end
end
% 是离散序列
plot(n, x, '.');

2.4.根据图像

% 是一个小括号
t = (-3:0.001:3);
% 生成一样维度x
y = zeros(size(t));
for i = 1:length(t)
    if -1 <= t(i) && t(i) < 1
        y(i) = 2 ;
%     elseif 是不分开的
    elseif 1 <= t(i) && t(i) < 2
        y(i) = 1;
    else
        y(i) = 0;
    end
end
% 是离散序列

% staris(t, y);

plot(t, y);
xlabel('X轴');ylabel('Y轴');
% 先画图再控制
axis([-2, 3, 0, 3]);

2.5.对齐函数

利用 duiqi.m 函数,求 add_f(k) = f 1 (k)-f 2 (k),pro_f(k) = f 1 (k)×f 2 (k),并以子图形式画出 f 1 (k)、f 2 (k)、add_f(k)、pro_f(k)。

clear;
f1 = 0:5;
f2 = 6:-1:0;
n1 = -1:4;
n2 = -5:1;

% function [f1_new, f2_new, n ] = duiqi(f1,n1,f2,n2)
[f1_new, f2_new, n] = duiqi(f1, n1, f2, n2);
add_f = f1_new - f2_new;
pro_f = f1_new .* f2_new;
subplot(2, 2, 1);

% 原来得不变
stem(n1, f1);
xlabel('n1');
ylabel('f1');
grid on;

subplot(2, 2, 2);
stem(n2, f2);
xlabel('n2');
ylabel('f2');
grid on;

subplot(2, 2, 3);
stem(n, add_f);
xlabel('n3');
ylabel('add_f');
grid on;

subplot(2, 2, 4);
stem(n, pro_f);
xlabel('n');
ylabel('pro_f');
grid on;


三.思考题

整理并给出“实验内容与步骤”(2)、(3)、(4)、(5)中的程序代码与产生
的图形;并回答下面的问题。

3.1.

在调用某一函数文件时,该文件中除了输入、输出变量外的其它变量在调用 函数结束后是否还存在?这些变量是全局还是局部变量?

不存在,局部变量

3.2.

设 n = -10:0.2:20,你可以通过哪些方法查看向量 n 的维数?经过关系运 算 y = (n >= 3)以后,y 的维数是多少?y又等于什么?

n = -10:0.2:20;
% 151 = (20-(-10)) / 0.2 + 1
length(n)

y = (n >= 3)
% 得到n就是真假
% y = [0,0,...]
length(y)

length()方法查看n的维数,y的维数是151,y = [0,0,0,…1,1,1]

3.3.

通过 MATLAB 的帮助系统,学习 fliplr 函数的功能和使用方法。再此基础上,写出能够产生如下图形的程序,
x ( n ) = 2 n , − 4 ≤ n ≤ 4 x(n)=2^n,-4\\le n \\le 4 x(n)=2n,4n4

n = -4:4;
x_n = 2.^n;
subplot(1, 2, 1);
stem(n, x_n);
xlabel('n');
ylabel('x(n)')

% 左右翻转

subplot(1, 2, 2);
stem(n, fliplr(x_n));
xlabel('n');
ylabel('x(-n)')

信号实验(01)matlab编程基础及典型实例(代码片段)

信号实验(01)MATLAB编程基础及典型实例一.例子1.1.duiqi.mfunction[f1_new,f2_new,n]=duiqi(f1,n1,f2,n2)%功能:将两个序列对齐,以实现两个序列之间的运算%输入:%(1)f1,f2:原来的两个序列;%(2)n1,n2:f1,f2所... 查看详情

山东大学数字图像处理实验:matlab的图像显示方法

...实验目的了解MATLAB的基本功能及操作方法。掌握典型离散信号的Matlab产生和显示。实验原理及方法在MATLAB中,序列是用矩阵向量表示,但它没有包含采样信息,即序列位置信息,为此,要表示一个序列需要建立两个向量;一是时间序列n,... 查看详情

(高分)用matlab模拟ask系统(数字信号处理实验)

...生深入理解和掌握ASK通讯系统的各个关键环节,包括基带信号形成、调试、解调、滤波、传输、噪声对通信质量的影响等。在数字信号处理实验课的基础上更加深入地掌握数字滤波器的设计原理及实现方法。使学生对ASK系统各个... 查看详情

matlab在信号与系统分析中的应用?

Matlab在信号与系统中的应用实验1、应用FFT对信号进行频谱分析实验2、数字滤波器设计实验3、用MATLAB分析拉普拉斯变换及其曲面实验二、Matlab的综合应用实验1、如何用MATLAB解决蠓虫分类问题?实验2、如何绘制分形曲线图形?[原... 查看详情

matlab编程与应用系列-第2章数组及矩阵的创建及操作(代码片段)

本系列教程来源于出版设计《基于MATLAB编程基础与典型应用书籍》,如涉及版权问题,请联系:[email protected]。出版社:人民邮电出版社,页数:525。本系列教程目前基于MATLABR2006a,可能对于更高级版本的功能和函数有差异... 查看详情

matlab编程与应用系列-第2章数组及矩阵的创建及操作(代码片段)

本系列教程来源于出版设计《基于MATLAB编程基础与典型应用书籍》,如涉及版权问题,请联系:[email protected]。出版社:人民邮电出版社,页数:525。本系列教程目前基于MATLABR2006a,可能对于更高级版本的功能和函数有差异... 查看详情

matlab编程与应用系列-第2章数组及矩阵的创建及操作(代码片段)

本系列教程来源于出版设计《基于MATLAB编程基础与典型应用书籍》,如涉及版权问题,请联系:[email protected]。出版社:人民邮电出版社,页数:525。本系列教程目前基于MATLABR2006a,可能对于更高级版本的功能和函数有差异... 查看详情

matlab编程与应用系列-第2章数组及矩阵的创建及操作(代码片段)

本系列教程来源于出版设计《基于MATLAB编程基础与典型应用书籍》,如涉及版权问题,请联系:[email protected]。出版社:人民邮电出版社,页数:525。本系列教程目前基于MATLABR2006a,可能对于更高级版本的功能和函数有差异... 查看详情

代写大作业代写大学计算机基础编程

...下列题目中,选择1道题目作为大作业,实现程序并撰写实验报告;文科学生可以选做任何题目,理科学生不可以选做“文科题目”。作业一信息录入与查找系统设计一个信息录入与查找系统,使其具有基本身份信息的录入功能... 查看详情

matlab——噪声的检测和处理实验

      本次实验首先由matlab中的randn()函数模拟噪声信号,模拟确定性信号s(t)的抽样信号,并根据有无信号到达的概率,计算两者出现的频数,在matlab软件中仿真出有信号到达和无信号到达的两种接受信号。在... 查看详情

代写r实验代写r编程数据healthdata

代写R实验、代写R编程数据、HealthDataFinalReport–WorldBankHealthDataSmallGroupEffort-200pointsInstructions:Thefinalreportisaprofessionalteamreportoncountry-levelfertilityratesandfactorsthatinfluencefertilityrates. 查看详情

ug二次开发与数据库应用基础与典型范例的目录

...1.2.2 uG二次开发工具1.3 一个简单的例子第2章 UG/OpenAPI基础知识2.1 概述2.2 uG/OpenAPI数据类型、函数及表达式2.2.1 uG/OpenAPI数据类型2.2.2 uG/OpenAPI函数2.2.3 uG/OpenAPI表达式2.3 uG/OpenAPI.的开发模式2.4 菜单、工具条的制作2.4.1... 查看详情

matlab模拟调制系统的上机实现(代码片段)

...s(t)=2cos20πft,设f=1KHz,试求:①该调幅信号,并画出该调幅信号的波形;②画出该调幅信号的频谱。(2)设计一模拟调制系统实现下列功能设信源m(t)=2cos2πft,载波为s(t)=2cos20πft,设f=1KHz&#x... 查看详情

信号取样与取样定理matlab编程

1、设有3个不同频率的正弦信号,频率分别为f1=100hz,f2=200hz,f3=3800hz。现在用取样频率fs=4000hz对这3个正弦信号进行取样,绘出各取样信号的波形及其频谱,并分析其频率混叠现象。2、结合取样定理,编程实现Sa(t)信号经过冲... 查看详情

matlab的音乐信号的分析与处理设计的实验咋做?

一)设计内容与技术条件1.截取一段音乐信号(2s左右),并对信号进行采样,画出采样后音乐信号的时域波形和频谱图;2.用矩形窗设计一个FIR低通滤波器,确定滤波器的单位抽样响应,画出滤波器的频率响应(幅频响应和... 查看详情

matlab|面向对象编程基础|类的创建及运算符重载(代码片段)

...人发现我的很多绘图函数都写成了类哈,这一期讲讲MATLAB面向对象编程基础知识之《类的创建及运算符的重载》。首先点击图示位置创建类:classdefuntitled%UNTITLED此处提供此类的摘要%此处提供详细说明propertiesProperty1endmetho... 查看详情

剑指offer名企面试官精讲典型编程题pdf

下载地址:网盘下载《剑指Offer:名企面试官精讲典型编程题(第2版)》剖析了80个典型的编程面试题,系统整理基础知识、代码质量、解题思路、优化效率和综合能力这5个面试要点。《剑指Offer:名企面试官精讲典型编程题(... 查看详情

《linuxshell命令行及脚本编程实例详解刘艳涛》高清pdf下载链接

 《Linuxshell命令行及脚本编程实例详解刘艳涛》高清pdf下载链接百度网盘链接:https://pan.baidu.com/s/14EVqLqmm5R50Yr0Krpo0Pw提取码:qg4r下载链接2:http://ziliaoshare.cn/Download/p_LSMLHJJBBCSLXJ_lyt.zip     《Linux典藏大系:Linu... 查看详情