时间戳格式(二)——响应格式

       TSA收到申请消息后,无论申请成功还是失败,都要给请求方返回一个响应消息,该响应消息或者是正确的时间戳,或者是包含了失败信息的时间戳。

       定义时间戳响应消息的ASN.1数据格式如下:

 TimeStampResp ::= SEQUENCE  {
      status                  PKIStatusInfo,
      timeStampToken          TimeStampToken     OPTIONAL 
}

其中:

 PKIStatusInfo ::= SEQUENCE {
      status        PKIStatus,
      statusString  PKIFreeText     OPTIONAL,
      failInfo      PKIFailureInfo  OPTIONAL  
}

其中:

PKIStatus ::= INTEGER {
      granted                (0),
      -- when the PKIStatus contains the value zero a TimeStampToken, as
         requested, is present.
      grantedWithMods        (1),
       -- when the PKIStatus contains the value one a TimeStampToken,
         with modifications, is present.
      rejection              (2),
      waiting                (3),
      revocationWarning      (4),



Adams, et al.               Standards Track                     [Page 6]

RFC 3161               Time-Stamp Protocol (TSP)             August 2001


       -- this message contains a warning that a revocation is
       -- imminent
      revocationNotification (5)
       -- notification that a revocation has occurred  
}

       PKIStatusInfo 中的status值为0或者1时,响应消息中的timeStampToken就应出现,否则timeStampToken就不能出现。

       status不能有除PKIStatus外的其他值,请求方如果收到一个不识别的值,必须报告错误。

       申请失败时用statusString给出一个说明原因的字符串。statusString的类型是PKIFreeText,PKIFreeText的定义为:

      PKIFreeText ::= SEQUENCE SIZE(1..MAX) OF UTF8Sting

      每一个UTF-8 String应包含一个语言标签,该标签按照RFC 3066定义,用来指示UTF-8 String的语言。

     failInfo用来说明时间戳请求被拒绝的具体原因,具体值如下:

PKIFailureInfo ::= BIT STRING {
   badAlg               (0),     -- 申请使用了不支持的算法
   badRequest           (2),     -- 非法的申请
   badDataFormat        (5),     -- 数据格式错误
   timeNotAvailable    (14),     -- TSA的可信时间源出现问题
   unacceptedPolicy    (15),     -- 不支持申请消息中声明的策略
   unacceptedExtension (16),     -- 申请消息中包含了不支持的扩展
   addInfoNotAvailable (17)      -- 有不理解或不可用的附加信息
   systemFailure       (25)     -- 系统内部错误
}

failInfo不能有除PKIFailureInfo外的其他值,请求方如果收到一个不识别的值,必须报告错误。

 

 

 

在Matlab中,绘制一个50Hz高截止频率、长度为40毫秒的低通滤波器的时间域和频率域响应通常涉及到滤波器设计和信号处理的基础知识。这里我们假设你要创建的是一个线性相位的低通IIR(无限 impulse response)滤波器,例如巴特沃斯滤波器。 首先,你需要确定滤波器的具体参数,比如滤波器阶数(order),采样率(sampling frequency),以及是否需要使用`fir1`或`butter`函数来创建巴特沃斯滤波器。 ```matlab % 设定参数 fs = 1000; % 采样率,假设每秒1000次采样 T = 0.04; % 时间长度,40ms cutoff_freq = 50; % 截止频率 % 设计低通滤波器 [b, a] = butter(order, cutoff_freq/(fs/2), 'low'); % 使用butterworth滤波器设计,需指定滤波器阶数(order) % 确保滤波器长度与信号长度一致 L = round(T*fs); n = 0 : L - 1; t = n / fs; % 计算滤波后的信号(假设原信号为全1s序列) x = ones(1, L); y = filter(b, a, x); % 绘制频率响应 [h, w] = freqz(b, a, L, fs); % 使用freqz计算频率响应 figure; plot(w, abs(h)) xlabel('Frequency (Hz)') ylabel('Magnitude') title('Low-pass Filter Frequency Response') % 绘制时间域响应 figure; plot(t, y, 'b', t, x, 'r') % blue line for filtered signal, red for original xlabel('Time (s)') ylabel('Amplitude') legend('Filtered Signal', 'Original Signal') title('Low-pass Filter Time Domain Response') ``` 在这个例子中,`order`是你需要调整的一个参数,它决定了滤波器的复杂度。更高的阶数会提供更平滑的频率响应,但可能会增加计算开销。运行上述代码后,你会看到两个图形:一个显示了频率域的滤波器响应,另一个展示了时间域中原始信号经过滤波后的结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值